![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Transparent Bitmap и Cаnvas? [D7, WinXP]
Zoom © (2008-05-15 23:00:00)Народ а подскажите пожалуйста я пытаюсь нарисовать
прозрачный 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 23:10:00) [1]чего рисуешь то? :)
иконку 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);
???
Olegz77 (2008-05-16 18:16:00) [2]Zoom, не надо после
i2.TransparentColor := clwhite;устанавливатьi2.TransparentMode := tmAuto, последняя инструкция устанавливает TransparentColor по умолчанию в clDefault
Olegz77 (2008-05-16 18:13:00) [3]
> antonn (work) (16.05.08 10:20) [2]
> чего рисуешь то? :)
> form1.Canvas.Draw(10,10 ,i2); - рисуешь форму на битмапе?
>
Все правильно, данная конструкция рисует на холсте формы графический объект i2
antonn (work) (2008-05-16 10:20:00) [4]чего рисуешь то? :)
form1.Canvas.Draw(10,10 ,i2); - рисуешь форму на битмапе?
Zoom (2008-05-16 03:07:00) [5]Однако если в ImageList1 добавлять картину с использованием Transparent Color = clNone , тогда все работает так где-же "портится" bitmap , но цвет окантовки остается одинаковым в обоих случаях clwhite... 255, 255, 255 ???