Библиотека изображений C
Кто-нибудь может порекомендовать приличную библиотеку изображений C?
Я после загрузчиков для BMP, GIF, JPG, PNG и TGA.
Я хочу использовать это для программирования моего Sony Playstation Portable, поэтому с открытым исходным кодом было бы очень удобно.
После некоторого поиска я нашел FreeImage и CImg, но оба чувствуют себя довольно тяжело, и CImg - это C++, а не C.
7 ответов
Если вы управляете загружаемыми изображениями, самый легкий загрузчик, который я знаю, это потрясающий файл stb_image.c Шона Барретта (прямая ссылка на исходный код одного файла!).
На сайте Шона есть и другие очень полезные библиотеки, такие как крошечный растеризатор TrueType и декомпрессор Vorbis, кстати.
Если вам нужна загрузка изображений OpenGL, использующая stb_image, я скромно укажу на SOILex...
ImageMagick имеет C API для подключения к своим библиотекам. Есть также то, что они называют "низкоуровневым интерфейсом" между C и библиотеками ImageMagick.
DevIL часто рекомендуется. Делает ли это то, что вы хотите, я не знаю.
Я буду вторым предложением Томаса Оуэнса ImageMagick. Это просто ошеломляет, насколько всеобъемлющей является библиотека, и сколько времени она экономит вам в итоге.
Вот код, который я написал для обработки изображений. Он находится в C++ (не C), но вы должны быть в состоянии легко извлечь код загрузки BMP и GIF. Это лицензированный LGPL.
Я использую libpng и jpeglib для распаковки этих форматов.
Для одного из моих проектов я использую библиотеку CImg. Это очень полезно для начала. Более того, они также имеют приличную документацию.