Главная страница
    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.007 c
6-1194270834
andreoman
2007-11-05 16:53
2008.10.19
программно поменять мак-адрес (MAC) сетевой карточки


2-1221035629
programmer90
2008-09-10 12:33
2008.10.19
Проблемы с кодировкой.


4-1197966725
Double_V
2007-12-18 11:32
2008.10.19
Переключение раскладки в Hook-e


2-1220944122
K12
2008-09-09 11:08
2008.10.19
Запрос


15-1220007907
DiamondShark
2008-08-29 15:05
2008.10.19
С какой учётной записью





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский