Вниз
Скачать: 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.065 c
3-1134983176
Виталий Панасенко
2005-12-19 12:06
2006.02.19
Не "догоню" поведение ADOCommand/ADOQuery


1-1137740085
GangsterMan
2006-01-20 09:54
2006.02.19
Отсутствует реакция на ХотКей


2-1138649839
azeton
2006-01-30 22:37
2006.02.19
Помогите написать формулу


2-1138550534
49 Cent
2006-01-29 19:02
2006.02.19
Можно ли сделать такой запрос?


15-1138358865
Andy BitOff
2006-01-27 13:47
2006.02.19
Фоном открыть jpg и прочитать его размеры (VBA Excel)




   Наверх