Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.10.19;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
2-1221038683
dmitry_12_08_73
2008-09-10 13:24
2008.10.19
Определение дескриптора окна под текущим окном


15-1219836124
Kent
2008-08-27 15:22
2008.10.19
Visra. Прямая запись на raw диск. Только через драйвер?


2-1221138778
savyhinst
2008-09-11 17:12
2008.10.19
Вопрос про DLL


2-1221147485
Weeeetch
2008-09-11 19:38
2008.10.19
Требуется подсказка


1-1200878862
IGray
2008-01-21 04:27
2008.10.19
Как создать в цикле Array Of Const?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский