Вниз
Скачать: CL | DM;

Режим наложения графики функцией BitBlt   Найти похожие ветки 

 
Tomek   (2005-09-10 16:56) [0]

Есть вот такой код :

 var s:string;
     dc,dc2:HDC;
     x:Integer;
     siz:SIZE;
     bm:HBITMAP;
begin
 s:="Hello world ! I am very glad you to see here in London !";
 dc:=GetDC(Panel1.Handle);
 dc2:=CreateCompatibleDC(dc);
 GetTextExtentPoint32(dc2,pchar(s),length(s),siz);
 bm:=CreateCompatibleBitmap(dc2,siz.cx,siz.cy);
 SelectObject(dc2,bm);
 SetBkMode(dc2,TRANSPARENT);
 TextOut(dc2,0,0,pchar(s),length(s));

 BitBlt(dc,0,0,siz.cx,siz.cy,dc2,0,0,SRCCOPY);

 DeleteDC(dc2);
 ReleaseDC(panel1.Handle,dc);
end;

По моим представлениям и в соответствии с документацией, должен отобразиться на панельке текст БЕЗ ФОНА (т.е. с прозрачностью).
Отображается же черный прямоугольник. ПОчему? И как сделать так, чтобы отобразился текст без фона на панельке ?


 
Antonn ©   (2005-09-10 18:52) [1]

размеры bm в порядке?


 
MBo ©   (2005-09-11 09:21) [2]

У тебя путаница с контекстами.
После получени dc:=GetDC(Panel1.Handle);
он доступен для рисования, создание доп. контекста и битмапа ни к чему.


 
miek ©   (2005-09-12 10:40) [3]

на каком основании он у тебя будет с прозрачностью, если режим SRCCOPY??? приколист. и вообще используй TransparentBlt, я что-то не помню, чтобы bitblt позволял нормальную прозрачность..



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
8-1126147717
dm37
2005-09-08 06:48
2006.02.19
Вывод формы на второй экран монитора?


15-1138108847
Glebkin
2006-01-24 16:20
2006.02.19
Как узнать откуда пришел троян


2-1138520899
acer
2006-01-29 10:48
2006.02.19
данные в treenode


1-1137509449
Харько (настоящий)
2006-01-17 17:50
2006.02.19
Что делать с адресом?


15-1138632839
Arazel
2006-01-30 17:53
2006.02.19
Где можно прочитать про Характиристику MSSQL




   Наверх