Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

Как Bitmap поместить на DC?   Найти похожие ветки 

 
Th ©   (2002-10-02 20:20) [0]

Подскажите плз. Есть BMP:HBitmap. Надо в методе Paint компонента вывести этот BMP на компонент. Какой это функцией лучше сделать, а то не хочется лишний DC создавать для BitBlt


 
Diamond Cat ©   (2002-10-02 23:48) [1]

надо в сообщении wm_paint подменять hdc на свой. не помню точно но вроде это wparam


 
SPeller ©   (2002-10-03 01:24) [2]


> Diamond Cat © (02.10.02 23:48)

Первый раз о таком слышу.

Вообще, всегда создаётся временный DC и из него копируется на DC который на экран выводит.


 
Юрий Зотов ©   (2002-10-03 02:17) [3]

Canvas.Handle, и ничего создавать не надо.


 
SPeller ©   (2002-10-03 10:26) [4]


> Юрий Зотов © (03.10.02 02:17)

По-моему всё-таки придётся создать ещё один DC, прикрепить к нему битмап, и из него уже копировать на Canvas.Handle


 
Юрий Зотов ©   (2002-10-03 11:44) [5]

А почему не сразу из битмапа?


 
Th ©   (2002-10-03 12:06) [6]

А как сразу из битмапа вывести?


 
k   (2002-10-03 13:19) [7]

в wm_paint передается dc окна, требующего прорисовки
чтоб сделать ч-л с BMP надо сделать его активным на к-н dc,
и оперировать уже с ним


var dc:HDC;
OldHandle:HBITMAP;//старый Handle

dc := GetCompatibleDC(0);
OldHandle := SelectObject(dc, BMP);

//операции копирования BitBlt и т п

SelectObject(dc,OldHandle);// наверное можно и без этого, но хуже не будет
DeleteDC(dc);


 
han_malign   (2002-10-03 14:41) [8]

может он про это(а то не понятно что же нужно)

var bm: TBitmap;
begin
bm.Handle:=BMP;
Canvas.Draw(0,0,bm);
bm.free;
end;


 
Th ©   (2002-10-03 18:03) [9]

> han_malign (03.10.02 14:41)
> может он про это(а то не понятно что же нужно)

Нет я немного не про это ;)) МЕтодами канваса пользоваться как-то западло, извините за выражение.

Вообще, всем спасибо - проблему я решил. Просто вместо CreateCompatibleDC(0) использовал GetDC(0) из-за ничего не получалось с SelectObject и пришлось искать обходные пути. Сейчас все пашет ;)


 
Diamond Cat ©   (2002-10-04 03:28) [10]

2 SPeller почитай хелп на wm_paint


 
Evgeny ©   (2002-10-04 05:18) [11]

>Просто вместо CreateCompatibleDC(0) использовал GetDC(0)
Гланды тоже можно удалять через одно место...


 
SPeller ©   (2002-10-04 13:38) [12]


> 2 SPeller почитай хелп на wm_paint

Передаётся DC на котором ресуют?? Да ради бога. Тогда попробуй обходясь одним этим ДС, не создавая временных, нарисовать битмап на нём.
Удачи.



Страницы: 1 вся ветка

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
1-45934
Zuvom
2002-11-04 02:34
2002.11.14
Pchar


14-46070
Николай Быков
2002-10-24 15:35
2002.11.14
http://freeprogrammer.narod.ru


14-46096
Ricks
2002-10-25 17:52
2002.11.14
Тургенев,


7-46177
yxz
2002-07-15 21:14
2002.11.14
hook на окошко...


1-45984
Gadfly
2002-11-03 14:09
2002.11.14
Change cursor