Главная страница
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.018 c
2-1210697081
Alexey
2008-05-13 20:44
2008.06.08
Кодировка таблицы


15-1208980904
MM_ASH
2008-04-24 00:01
2008.06.08
Как сделать свой проект


2-1210771513
AlexeyMir
2008-05-14 17:25
2008.06.08
Как получить значение по его имени


2-1210916354
Opera1
2008-05-16 09:39
2008.06.08
ValueListEditor1 добавление значений


3-1199896167
AlexeyMir
2008-01-09 19:29
2008.06.08
Cвойства полей базы Firebird.