Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.09;
Скачать: CL | DM;

Вниз

Самый "дешевый" способ загрузить картинку PNG?   Найти похожие ветки 

 
Dmitry S ©   (2008-02-04 12:15) [0]

Вобщем нужен аналог функции:
 Bmp := LoadImage(
           HInstance,
           "src.bmp",
           IMAGE_BITMAP,
           0,
           0,
           LR_CREATEDIBSECTION
             or LR_DEFAULTSIZE
             or LR_LOADFROMFILE
           );

только для png.
Иначе говоря на выходе нужно иметь 32х битный HBITMAP.


 
clickmaker ©   (2008-02-04 12:19) [1]

через GDI+
либо ищи компонент, GraphicsEx, к примеру


 
Ins ©   (2008-02-04 12:22) [2]

http://www.thany.org/download/14/pngcomponentssetup.zip


 
Dmitry S ©   (2008-02-04 12:24) [3]

Мне не нужны компоненты, мне нужен простой способ. Я делаю приложение на WinApi:) А BMP с альфа каналом много весят и много мороки, чтобы их создать.


 
Zeqfreed ©   (2008-02-04 12:25) [4]

libpng?


 
clickmaker ©   (2008-02-04 12:27) [5]

http://rsdn.ru/article/qna/gdi/drawimg.xml


 
rts111 ©   (2008-02-04 12:34) [6]

http://pngdelphi.sourceforge.net


 
Dmitry S ©   (2008-02-04 13:04) [7]

Все не то. Или VCL или DLL (160 КБ) с собой таскать.

Вот тут пример есть
http://chime.student.utwente.nl/qweerdy/ppa.zip
на асме.
Exe файл весит 72 КБ, из которых 62 - ресурс.
Найти бы этот самый
  include pnglib.inc
  includelib pnglib.lib
для дельфи.


 
хам   (2008-02-04 13:18) [8]

Мой распаковщик для PNG весит 20кб, в сжатом upx виде 9кб. Проходит валидацию на w3.org, тока альфу игнорит, выдавая результат 24 бита для лубого файла.


 
Dmitry S ©   (2008-02-04 13:21) [9]

борьба как раз за альфу:)


 
хам   (2008-02-04 13:29) [10]

> [9] Dmitry S ©   (04.02.08 13:21)
> борьба как раз за альфу:)

В принципе, если есть желание, можно и подправить, формат то он верно узнает.


 
ketmar ©   (2008-02-04 13:56) [11]

>[7] Dmitry S ©(04.02.08 13:04)
ну вырежь из zlib распаковщик да напиши сам. %-)


 
rts111 ©   (2008-02-04 14:50) [12]


> rts111 ©   (04.02.08 12:34) [6]
> http://pngdelphi.sourceforge.net


А что, на том сайте не нашел?
Я точно не помню, но кажись оттуда качал.
Без компонентов, и компактно, у меня пашет.
Я правда ручками немного правил, но там все просто вроде бы.
Могу на мыло скинуть?


 
Sapersky   (2008-02-04 15:19) [13]

KOLPng, если использовать только загрузку, добавляет около 30 кб (последние версии, может быть, немного больше). Альфа есть, хотя сделана не очень удобно - грузится в отдельную область памяти, т.е. конвертацию в 32-битный битмап нужно дописывать самостоятельно.


 
Черный Шаман   (2008-02-04 16:02) [14]


>
> Dmitry S ©   (04.02.08 12:15)
>
> Вобщем нужен аналог функции:
>  Bmp := LoadImage(
>            HInstance,
>            "src.bmp",
>            IMAGE_BITMAP,
>            0,
>            0,
>            LR_CREATEDIBSECTION
>              or LR_DEFAULTSIZE
>              or LR_LOADFROMFILE
>            );
> только для png.
> Иначе говоря на выходе нужно иметь 32х битный HBITMAP.


Вот тебе описание формата png
http://www.w3.org/TR/PNG/

Загружаешь в память, разбираешь формат и перегоняешь массив пикселов в Hbitmap через DIB функции.



Страницы: 1 вся ветка

Текущий архив: 2008.03.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
3-1192802734
Vendict
2007-10-19 18:05
2008.03.09
создание DNS для Oracle


11-1185096701
Dy1
2007-07-22 13:31
2008.03.09
Посоветуйте плз компонент для печати


2-1202739868
patrick1968
2008-02-11 17:24
2008.03.09
Проблема с написанием Service а


3-1192988935
Николай Валуев
2007-10-21 21:48
2008.03.09
обновление данных


3-1192453147
kyn66
2007-10-15 16:59
2008.03.09
Не обновляются поля БД