2010-01-11 5 views
3

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

Вещи мне нужно/хотение:

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

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

ответ

2

devIL и SDL_Image поддерживает большое количество форматов. Derelict обеспечивает их привязки.

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

+0

SDL_Image разговаривает с libpng, libjpeg и libtiff для вас. – ponce

1

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

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

+0

Любые советы о том, как извлечь данные из файла? (Я согласен предположить, что файл закодирован в 24-битном цвете) – BCS

+0

Возможно, этот код будет полезен: http://doryen.eptalys.net/svn-libtcod/trunk/src/sys_sdl_img_png.c --- это хорошо документировано и написано читаемо. Это из библиотеки, которую поддерживает мой друг. В основном, что эти две функции делают, это импортировать png-изображение из файла на поверхность SDL и экспортировать его обратно, соответственно. – mingos

+0

Возможно, вы также захотите посмотреть на это: http://www.libpng.org/pub/png/book/chapter13.html – mingos

0

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

1

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

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

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

0

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

файл 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

Я думаю SOIL (Simple OpenGl Image Library) подходит вашему описанию красиво. Он имеет много форматов, iirc код jpg даже портирован из того же источника, что и ваш.

Смежные вопросы