Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];

Вниз

Самый "дешевый" способ загрузить картинку 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.042 c
6-1181044210
WebSQLNeederr
2007-06-05 15:50
2008.03.09
Програмно кликнуть на ссылку из ТВебБровзера


2-1202756973
Jimmy
2008-02-11 22:09
2008.03.09
Событие при перемещении формы


2-1202681612
Artem
2008-02-11 01:13
2008.03.09
Динамически созданный Memo на PageControl


15-1201843206
Uno-84
2008-02-01 08:20
2008.03.09
Удаленный отладчик


15-1201722950
Марсер
2008-01-30 22:55
2008.03.09
Бесплатный прокси-сервер для обеспечения ноутбука Инетом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский