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

Front с прозрачным фоном на Canvas-e   Найти похожие ветки 

← →
pasha676   (2003-07-08 15:57) [0]

Сел на якорь на таком простом вопросе. Как не пишу (OutText) на канвасе - все одно белый фон текста. Как его сделать прозрачным?


← →
MBo ©   (2003-07-08 16:09) [1]

SetBKMode Transparent ставил?


← →
pasha676   (2003-07-08 16:46) [2]

Нет. Вот такую ерунду по хэлпу писал

TrassaBmp.Transparent:=true;
TrassaBmp.TransparentColor:=$00FFFFFF;
TrassaBmp.TransparentMode:=tmAuto;

ну и потом TrassaBmp.Canvas.TextOut(25,150,"бла-бла бла");

Что есть за свойство SetBKMode и где оно находиться?


← →
iXuSs   (2003-07-08 16:58) [3]

Не стал мудрить, вот из FAQ:

procedure TForm1.Button1Click(Sender: TObject);
var
OldBkMode : integer;
begin
Image1.Picture.Bitmap.Canvas.Font.Color := clBlue;
OldBkMode := SetBkMode(Image1.Picture.Bitmap.Canvas.Handle,TRANSPARENT);
Image1.Picture.Bitmap.Canvas.TextOut(10, 10, "Hello");
SetBkMode(Image1.Picture.Bitmap.Canvas.Handle,OldBkMode);
end;

Полагаю, ты без труда переделаешь под свои нужды.


← →
Дмитрий Мыльников   (2003-07-08 17:04) [4]

А для изменения цвета фона используется функция SetBkColor(HDC, Color)
Кстати, эти же функции влияют и на прозрачность/непрозрачность и цвет фона в заливках контуров (свойство Canvas.Brush.Style, когда оно не bsClear или bsSolid, а какой-нибудь узор). Причём об этом толком нигде нет, я сам в своё время искал методом "научного тыка".


← →
pasha676   (2003-07-08 17:09) [5]

Спасибо нашел. Я думал это свойство битмапа или канваса, а это функция API


← →
MBo ©   (2003-07-08 17:11) [6]

для VCL-TCanvas в большинстве случаев достаточно Brush.Style:=bsClear, а вообще к device context - API-функция SetBKMode



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

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



Память: 0.46 MB
Время: 0.022 c
3-40819
arche
2003-10-21 16:51
2003.11.13
Используется ли реально в трехзвенных


6-41857
malamba
2003-09-11 10:00
2003.11.13
а как создать свою страницу в Delphi


3-40928
Митяй
2003-10-17 16:24
2003.11.13
Фильтрация данных


3-41112
arche
2003-10-23 09:19
2003.11.13
Есть база, с ней напрямую работают два разных приложения,


14-42076
VEG
2003-10-23 17:30
2003.11.13
HyperTerminal




   Наверх