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

Вниз

Transparent Bitmap и Cаnvas?   Найти похожие ветки 

 
Zoom ©   (2008-05-15 23:00) [0]

Народ а подскажите пожалуйста я пытаюсь нарисовать
прозрачный Bitmap на Canvas
картинка рисуется а прозрачности почему-то нет ???

i2 := tbitmap.Create;
ImageList1.GetBitmap(1,i2);

Image1.Canvas.Brush.Color := clBlack;
Image1.Canvas.FillRect(rect(1,1,100,100));

i2.Transparent := true;
i2.TransparentColor :=  clwhite;
i2.TransparentMode := tmAuto;
form1.Canvas.Draw(10,10 ,i2);


картинка i2 с чисто белыми краями по идее должна нарисоваться без них на черном фоне, а рисуется с ними ?


 
Zoom ©   (2008-05-16 03:07) [1]

Однако если в ImageList1 добавлять картину с использованием  Transparent Color = clNone , тогда все работает так где-же "портится" bitmap , но цвет окантовки  остается одинаковым в обоих случаях clwhite... 255, 255, 255 ???


 
antonn (work)   (2008-05-16 10:20) [2]

чего рисуешь то? :)
form1.Canvas.Draw(10,10 ,i2); - рисуешь форму на битмапе?


 
Olegz77 ©   (2008-05-16 18:13) [3]


> antonn (work)   (16.05.08 10:20) [2]
> чего рисуешь то? :)
> form1.Canvas.Draw(10,10 ,i2); - рисуешь форму на битмапе?
>


Все правильно, данная конструкция рисует на холсте формы графический объект i2


 
Olegz77 ©   (2008-05-16 18:16) [4]

Zoom, не надо после i2.TransparentColor :=  clwhite; устанавливать i2.TransparentMode := tmAuto, последняя инструкция устанавливает TransparentColor по умолчанию в clDefault


 
Zoom ©   (2008-05-16 23:10) [5]

чего рисуешь то? :)
иконку 16*16 с белым краем, просто на canvas...

может я не правильно обьяснил
прикол вот в чем получается:
если картинку загрузить из файла
i2.LoadFromFile("test2.bmp");
или из ImageList1 с использованием clNone при импорте картинки в ручную
то тогда все нормально, а если картинку импортировать автоматически то есть
ImageList1 сам найдет прозрачную границу, то тогда прозрачности почему-то нету, даже если цвет определять допустим по точке 1,1
i2.TransParentColor := i2.canvas.pixels[1,1];
i2.Transparent := true;

image1.canvas.Draw(10,10,i2);

???



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

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

Наверх




Память: 0.48 MB
Время: 0.06 c
2-1211177784
WebSQLNeederr
2008-05-19 10:16
2008.06.08
AnsiReplaceText несколько раз и разные замены - как?


2-1210658320
voe
2008-05-13 09:58
2008.06.08
парсинг Web


2-1211116922
Johnny
2008-05-18 17:22
2008.06.08
Добавить поле в Access


2-1210598038
MVN
2008-05-12 17:13
2008.06.08
Firebird


15-1208846371
shlst
2008-04-22 10:39
2008.06.08
А может пора работу менять?