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

Вниз

TBitmap.Transparent   Найти похожие ветки 

 
Alral ©   (2008-09-10 23:10) [0]

Здравствуйте.
У меня вопрос:
программа сохраняет в Bitmap изображение, после чего рисует его на форме. Мне необходимо, чтобы у этого изображения не было фоновой заливки белым цветом, а только то, что я рисую. Я устанавливаю TBitmap.Transparent в True, TransparentColor := clWhite, TransparentMode:=tmFixed. Однако фон прозрачным не становится. Какая причина?


 
Alral ©   (2008-09-10 23:11) [1]

Код:

bPiece[1]:=TBitmap.Create;
bPiece[1].Width:=50;
bPiece[1].Height:=50;
bPiece[1].Transparent:=true;
bPiece[1].TransparentMode:=tmFixed;
bPiece[1].TransparentColor:=clWhite;
with bPiece[1].Canvas do begin
 Pen.Color:=clBlack;
 Pen.Width:=1;
 Ellipse(5, 5, 45, 45);
 Brush.Color:=clMaroon;
 FloodFill(25, 25, clBlack, fsBorder);
 Ellipse(12, 12, 38, 38);
end;
for lpX := 0 to 3 do begin
 fMain.Canvas.Draw(lpX*100+50, 350, bPiece[1]);
 fMain.Canvas.Draw((lpX+1)*100, 300, bPiece[1]);
 fMain.Canvas.Draw(lpX*100+50, 250, bPiece[1]);
end;

Спасибо.


 
KilkennyCat ©   (2008-09-11 00:20) [2]

попробуй использовать clFuchsia и обрати внимание, чтобы фон был по всему краю.


 
KilkennyCat ©   (2008-09-11 00:22) [3]

И главное, чтобы фон вообще был... я что-то пока не заметил, чтоб созданный битмап был предварительно залит цветом фона.


 
Alral ©   (2008-09-11 00:23) [4]

По крайней мере он отображается как моё изображение на белом фоне.
Попробую как вы посоветовали. Спасибо.


 
Германн ©   (2008-09-11 01:36) [5]


> KilkennyCat ©   (11.09.08 00:20) [2]
>
> попробуй использовать clFuchsia

А почему именно clFuchsia?

P.S.
Спрашиваю серьёзно, без шуток.


 
KilkennyCat ©   (2008-09-11 01:43) [6]


> Германн ©   (11.09.08 01:36) [5]


У меня когда-то в 6 делфи была такая проблема. Не помню уже, где именно, какой контрол, но пока цвет не сменил - не прозрачило. И, если память не изменяет, при использовании воркшопа, там этот цвет по умолчанию был.
Кроме того, был момент, когда рисунок касался границ картинки - тоже не работала прозрачность. Сделал один пиксел по периметру - все нормально стало.
Но нигде в документации официально это не попадалось. Правда, я и не искал - методом тыка решилось (точнее, посмотрел пример из RxLiba, как они реализовывали), и ладно...


 
Германн ©   (2008-09-11 01:59) [7]


> И, если память не изменяет, при использовании воркшопа,
> там этот цвет по умолчанию был.


> Но нигде в документации официально это не попадалось.

Во-во. Потому и спросил.
В воркшопе в палитре цветов был цвет "trasparent". А в имейджэдите его нет.



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
15-1219907036
vuk
2008-08-28 11:03
2008.10.19
03.09.08 - King Crimson Festival. Никто не собирается?


2-1221159246
programmer90
2008-09-11 22:54
2008.10.19
Переменные среды в Delphi


2-1221206822
N77
2008-09-12 12:07
2008.10.19
Next, Prior (SQL)


2-1221222546
savyhinst
2008-09-12 16:29
2008.10.19
Про DLL


15-1220028990
DevilDevil
2008-08-29 20:56
2008.10.19
Соотношение сторон монитора. Потестируйте, пожалуйста.