Главная страница
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.014 c
6-1188851972
Aibolit
2007-09-04 00:39
2008.06.08
в терминальном сервере


2-1210945315
OLGA
2008-05-16 17:41
2008.06.08
Подскажите, пожалуйста неучу!!!!!!


2-1210824339
brother
2008-05-15 08:05
2008.06.08
сколько строк в TstringList


15-1208936973
Kolan
2008-04-23 11:49
2008.06.08
Новости проекта DMClient.


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