Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.19;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.064 c
3-1135345400
kull
2005-12-23 16:43
2006.02.19
Как работать с BLOB в udf?


2-1138811005
Freezz
2006-02-01 19:23
2006.02.19
Длина текста в переменной


15-1138183869
Иксик
2006-01-25 13:11
2006.02.19
А по какому принципу тут ветки удаляются?


2-1138883033
Mirrorballman
2006-02-02 15:23
2006.02.19
Редактор форм


15-1138359877
unknowing
2006-01-27 14:04
2006.02.19
Работа с таблицами в текстовом формате