-
Klim (10.12.07 16:23) [0]Хочу сделать графический интерфейс у программы, используя 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 и сравнить его с прозрачным цветом)
Спасибо за ответы. -
homm © (10.12.07 16:26) [1]> [0] Klim (10.12.07 16:23)
> На событии MouseMove, как понять находится курсор над прозрачной
> областью или нет
Получить значение байта «прозрачности» из исходного изображения.
> [0] Klim (10.12.07 16:23)
> Как "раскрасить" картинку в другой цвет(вот в этом примере
> реализовано bmp
Там же исходники есть. Осталось только включить мыслительный процесс, и то врятли понадобится. -
Klim (10.12.07 16:40) [2]
> Получить значение байта «прозрачности» из исходного изображения.
подскажи плиз каким образом??
По идее у обьекта TPNGObject должно быть свойство Pixels[x,y] который и должен вернуть цвет
Допустим есть Image1 в котором и находится искомый png. Как мне дойти до этого свойства??
Если я завожу отдельную переменную типа TPNGObject, то все ок, а тут как быть... ? -
homm © (10.12.07 16:42) [3]> [2] Klim (10.12.07 16:40)
> По идее у обьекта TPNGObject должно быть свойство Pixels[x,y] который и должен вернуть цвет
Странная идея. Почему именно Pixels? Ищи аналог. А о Pixels вообще забудт как страшный сон, ибо медленный до жути. Почитай но ScanLine -
antonn © (10.12.07 17:48) [4]у ПНГИмаге есть ScanLine и alphaScanLine для маски.