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

Вниз

Нормальный Transparent в Image???   Найти похожие ветки 

 
Fresh ©   (2008-07-08 21:41) [0]

У меня проблема такая: загружаю картинку .BMP у нее есть белый фон с краев, потом идет рисунок какой-то формы. мне нужно чтоб было видно только ту форму, без белого фона. ставлю свойство Transparent := True - белого не видно. Но один большой нюанс. Чтоб белого не было видно нужно чтоб картинка была огромных размеров, например 400х400 точек а у меня в проге размер картинки 100х100. Если загрузить картинку 400х400 делфи её сжимает до маленьких размеров и белого не стает видно, но таких картинок много, все разные, формат bmp так увеличивает прогу, что невыносимо!!! Потом пробую делать картинки 100х100 и уже такими вставляю в делфи, но они очень плохо стают прозрачными, видны белые точки, не все убираются. Можно как это решить??????
Я искал в DelphiWorld так нашел такую статью, чуть не такую но с неё можно что-то взять:

*****************************************************************************

При вставке какой-либо картинки в Image с произвольными очертаниями, можно легко обратиться к самой картинке а не к ненужному "куску" Image.  
Решение:  
Вставляем картинку ,например с белым фоном, transpert:=true и на OnMouseOver, или еще где, пишем:
if image1.picture.bitmep.canvas.pixels[X, Y]<>clwhite then
 image1.cursor:=crHourGlass
else
 image1.cursor:=crDefault
Пояснение: при наведении прога проверяет цвет пиксела под указатем и если оно отличается от белого, т.е. цвета фона, то указатель меняет свой вид!  

*****************************************************************************

Если б попиксельно проверять на белый цвет и делать этот пиксел прозрачным. Если кто-то знает как это сделать, то помогите пожалуйста  А то уже и так с этими картинками намучался  Картинок много, если все картинки размером 400х400 то размер программы при 100х100 отличается в 6 раз!!!


 
Kolan ©   (2008-07-08 23:51) [1]

> Если загрузить картинку 400х400 делфи её сжимает до маленьких
> размеров

Вот где промах. Делфай сам не сжимает. См. Strach и AutoSize у TImage


 
DimaBr ©   (2008-07-09 08:48) [2]

Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.


 
Правильный^Вася   (2008-07-09 11:48) [3]


> азмеров и белого не стает видно, но таких картинок много,
>  все разные, формат bmp так увеличивает прогу, что невыносимо!
> !! Потом пробую делать картинки 100х100 и уже такими вставляю
> в делфи

видимо, твоя сжималка картинок либо глючит, либо ты вообще через jpeg прогоняешь, либо те точки "почти" белые



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

Форум: "Начинающим";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
2-1215518523
Colt
2008-07-08 16:02
2008.08.10
Освобождение памяти в MDI приложении


15-1214478285
Ega23
2008-06-26 15:04
2008.08.10
To-Do List - показать всё


15-1214323157
Жёсткий
2008-06-24 19:59
2008.08.10
Жёсткий диск


15-1214124455
Book
2008-06-22 12:47
2008.08.10
Delphi Book


2-1215575714
Muh
2008-07-09 07:55
2008.08.10
Как в цикле перебрать допустим combobox1, combobox2





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский