Простые библиотеки загрузки изображений - PullRequest
3 голосов
/ 11 января 2010

У меня есть приложение, которое использует эту библиотеку (фактически прямой порт для D ) для обработки изображений. Я ищу другие библиотеки схожего стиля для загрузки файлов других типов.

Вещи, которые мне нужны / хотят:

  • Формат без потерь.
  • Простой C API.
  • Загружает данные в буферы в необработанном пиксельном формате.
  • Открытый исходный код (как я могу получить исходные файлы и скомпилировать их для собственного использования, кроме того, лицензирование не имеет значения)

Кто-нибудь знает что-нибудь подобное?

Ответы [ 8 ]

3 голосов
/ 11 января 2010

PNG : для загрузки и сохранения вы можете попробовать библиотеку LodePNG

C / C ++: http://members.gamedev.net/lode/projects/LodePNG/

D порт: www.dsource.org/projects/scrapple/wiki/LodePngLibrary

2 голосов
/ 20 июля 2011

FreeImage является довольно всеобъемлющим, очень чистым и простым в использовании.

http://freeimage.sourceforge.net/

2 голосов
/ 15 января 2010

devIL и SDL_Image поддерживают множество форматов. Покинутый обеспечивает их привязки.

Мой собственный код для их использования и необработанный буфер:

1 голос
/ 11 января 2010

Я бы подумал об использовании imageMagick (http://www.imagemagick.org/script/index.php) для всех ваших потребностей загрузки изображений. Он поддерживает множество форматов с разной битовой глубиной, чтение и запись для большинства из них.

Это может сделать намного больше, чем нужно, но это очень хорошо разработанная библиотека, и я использовал ее в нескольких проектах.

Это совместимо с GPL. (И я думаю, что коммерческие лицензии также доступны)

1 голос
/ 11 января 2010

Возможно, вы захотите попробовать libpng, хотя я бы не назвал его простым в использовании.

Кроме этого, вы можете попробовать работать напрямую с растровыми изображениями, без каких-либо библиотек.

0 голосов
/ 13 февраля 2010

Я думаю, SOIL (Простая библиотека изображений OpenGl) хорошо подходит под ваше описание. Он имеет много форматов, iirc jpg-код даже портирован из того же источника, что и ваш.

0 голосов
/ 15 января 2010

Вы можете использовать программное обеспечение, такое как Netpbm для преобразования в / из формата PPM , которое чрезвычайно легко читается / пишется из любой программы без необходимости внешнего библиотеки.

Файл PPM выглядит так:

P6
800 600 255
# followed by 800x600x3 bytes of values between 0 and 255, i.e.
\xFF\x00\x00\x80\x80\x00\x00\xFF\x00\x00\x80\x80\x00\x00\xFF...
# but not escaped

или как это:

P3
800 600 255
# followed by 800x600x3 decimal numbers between 0 and 255, i.e.
255 0 0  128 128 0  0 255 0  0 128 128  0 0 255  ...
0 голосов
/ 11 января 2010

Вы всегда можете попробовать библиотеку gdimage . У меня никогда не было с этим проблем, хотя суть работы, которую я проделал, была в PHP.

...