Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2008, 21:50   #1
Fre5h
 
Регистрация: 08.07.2008
Сообщений: 4
Вопрос Нормальный Transparent в Image???

У меня проблема такая: загружаю картинку .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 раз!!!
Fre5h вне форума Ответить с цитированием
Старый 10.07.2008, 08:44   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

попробуй перед вставкой картинки
Код:
Image1.Picture.Bitmap.TransparentColor:=clwhite;
Image1.Transparent:=true;
SERG1980 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
где найти нормальный TTreeView andrey4623 Общие вопросы Delphi 6 27.03.2008 00:15
Какой самый нормальный инсталлятор? 3lander Помощь студентам 3 28.12.2007 22:51
Конвертирование из поля Edit в нормальный знак. alikon1 Общие вопросы Delphi 11 27.11.2007 22:53
посоветуйте пожалуйста нормальный установщик BDE 3lander БД в Delphi 1 14.10.2007 00:31
Transparent в TMemo Roof Помощь студентам 2 01.08.2007 20:48