![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с 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
Там же исходники есть. Осталось только включить мыслительный процесс, и то врятли понадобится.