Библиотека изображений C [закрыта]
-
09-06-2019 - |
Вопрос
Кто-нибудь может порекомендовать приличную библиотеку изображений на языке Си?
Мне нужны загрузчики для bmp, gif, jpg, png и tga.
Я хочу использовать это для программирования моего Портативная приставка Sony Playstation, так что открытый исходный код был бы очень удобен.
После некоторого поиска в Google я нашел FreeImage и CImg, но оба кажутся довольно тяжелыми, а CImg - это C ++, а не C.
Решение
Если вы управляете загружаемыми изображениями, то самый легкий загрузчик, который я знаю, - это потрясающая программа Шона Барретта stb_image.c (прямая ссылка на исходный код одного файла!).
Кстати, на сайте Шона есть и другие очень полезные библиотеки, такие как крошечный растеризатор TrueType и декомпрессор Vorbis.
Если вам нужна загрузка изображения OpenGL, использующего stb_image, я смиренно укажу вам на Сойлекс...
Другие советы
ImageMagick имеет C API для подключения к его библиотекам.Есть также то, что они называют "низкоуровневый интерфейс" между C и библиотеками ImageMagick.
Я использовал Свободное изображение в прошлом для игр PSP, но это было для предварительной обработки данных, а не внутриигровой.
Дьявол часто рекомендуется.Делает ли это то, что вы хотите, я не знаю.
Я поддержу предложение Томаса Оуэнса по ImageMagick.Уму непостижимо, насколько обширна эта библиотека и сколько времени она экономит вам в конечном итоге.
Здесь это некоторый код, который я написал для обработки изображений.Он написан на c ++ (не c ), но вы должны быть в состоянии легко извлечь код загрузки BMP и GIF.Это лицензированный LGPL.
Я использую libpng и jpeglib для распаковки этих форматов.
Для одного из моих проектов я использую CImg Библиотека.Это очень полезно для начала.Более того, у них тоже есть приличная документация.