Конференция "Media" » Работа с PNG [D7, WinXP]
 
  • 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 для маски.
 
Конференция "Media" » Работа с PNG [D7, WinXP]
Есть новые Нет новых   [134431   +12][b:0][p:0]