Главная страница
    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-1221226569
webpauk
2008-09-12 17:36
2008.10.19
PanelResize


2-1221488145
Totaren
2008-09-15 18:15
2008.10.19
Как убрать полосы прокрутки в родительской форме MDI приложения?


2-1221236761
New_ser
2008-09-12 20:26
2008.10.19
Как настроить ADOConnection для работы в сети?


1-1200772003
asdqwer
2008-01-19 22:46
2008.10.19
Усовершенствованный RichEdit с возможностью выделения набор ячеек


15-1219762713
ChaosAD
2008-08-26 18:58
2008.10.19
Что почитать по Хранимым Процедурам для MSSQL





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