Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с PNG [D7, WinXP]


Klim ©   (2007-12-10 16:23:00) 

Хочу сделать графический интерфейс у программы, используя png файлы с прозрачностью. Для работы с png юзаю PNGImage(pngdelphi.sourceforge.net/)
Возникло несколько вопросов по работе с png:
1) Как "раскрасить" картинку в другой цвет(вот в этом примере реализовано bmp http://www.delphisources.ru/files/sources/graph/2007_year/personal_design.zip)
2) На событии MouseMove, как понять находится курсор над прозрачной областью или нет(в bmp можно заюзать Image1.Picture.Bitmap.Canvas.Pixels и сравнить его с прозрачным цветом)
Спасибо за ответы.


antonn   (2007-12-10 17:48:00) [1]

у ПНГИмаге есть ScanLine и alphaScanLine для маски.


homm   (2007-12-10 16:42:00) [2]

> [2] Klim   (10.12.07 16:40)
> По идее у обьекта TPNGObject должно быть свойство Pixels[x,y] который и должен вернуть цвет

Странная идея. Почему именно Pixels? Ищи аналог. А о Pixels вообще забудт как страшный сон, ибо медленный до жути. Почитай но ScanLine


Klim   (2007-12-10 16:40:00) [3]


> Получить значение байта «прозрачности» из исходного изображения.

подскажи плиз каким образом??
По идее у обьекта TPNGObject должно быть свойство Pixels[x,y] который и должен вернуть цвет
Допустим есть Image1 в котором и находится искомый png. Как мне дойти до этого свойства??
Если я завожу отдельную переменную типа TPNGObject, то все ок, а тут как быть... ?


homm   (2007-12-10 16:26:00) [4]

> [0] Klim   (10.12.07 16:23)
> На событии MouseMove, как понять находится курсор над прозрачной
> областью или нет

Получить значение байта «прозрачности» из исходного изображения.


> [0] Klim   (10.12.07 16:23)
> Как "раскрасить" картинку в другой цвет(вот в этом примере
> реализовано bmp

Там же исходники есть. Осталось только включить мыслительный процесс, и то врятли понадобится.


Наверх

Титульная страница Поиск, карта сайта Написать письмо