Форум: "Начинающим";
Текущий архив: 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