Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.045 c
2-1210702537
TStas
2008-05-13 22:15
2008.06.08
Не рисуется на TPanel


4-1190441616
antoxa2005
2007-09-22 10:13
2008.06.08
Открыть порт в Брэндмауэре WinXP SP2


15-1209127576
foo fighters
2008-04-25 16:46
2008.06.08
как с помощью командной строки узнать объем раздела?


2-1210832368
troyan_81
2008-05-15 10:19
2008.06.08
Преобразование типов


2-1211120855
Franzy
2008-05-18 18:27
2008.06.08
Как запустить из программы другую (консольную) программу?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский