Пишу на C в MinGW. Подскажите кросс-платформенные и небольшие (статичные) библиотеки для работы со сжатыми изображениями. Достаточно, чтобы можно было конвертировать в целевой формат из несжатого массива цветов и обратно, функции обработки изображений не нужны. Приветствую форматы PNG, JPEG и подобные.
Здравствуйте, ArtyomR0Bot, Вы писали:
ARB>Пишу на C в MinGW. Подскажите кросс-платформенные и небольшие (статичные) библиотеки для работы со сжатыми изображениями. Достаточно, чтобы можно было конвертировать в целевой формат из несжатого массива цветов и обратно, функции обработки изображений не нужны. Приветствую форматы PNG, JPEG и подобные.
libpng
libjpeg
эти не подходят?
Здравствуйте, Sni4ok, Вы писали:
S>Здравствуйте, ArtyomR0Bot, Вы писали:
S>libgd
Спасибо, испробую.
Здравствуйте, _Dreamer, Вы писали:
_D>Здравствуйте, ArtyomR0Bot, Вы писали:
ARB>>Пишу на C в MinGW. Подскажите кросс-платформенные и небольшие (статичные) библиотеки для работы со сжатыми изображениями. Достаточно, чтобы можно было конвертировать в целевой формат из несжатого массива цветов и обратно, функции обработки изображений не нужны. Приветствую форматы PNG, JPEG и подобные.
_D>libpng
_D>libjpeg
_D>эти не подходят?
Спасибо. Их я уже нашёл в первую очередь и буду пробовать.
Решил попробовать libpng.
С компиляцией под Windows заморачиваться не захотелось, нашёл бинарники. С либами .lib тоже собирается ("gcc my_prog.c libpng.lib"), но и .a там тоже есть. Правда, для результирующей программы нужна динамическая библиотека .dll, но это ничего. libgd тоже приглянулся. Всё работает отлично, спасибо за подсказки.
Здравствуйте, _Dreamer, Вы писали:
_D>Здравствуйте, ArtyomR0Bot, Вы писали:
ARB>>Пишу на C в MinGW. Подскажите кросс-платформенные и небольшие (статичные) библиотеки для работы со сжатыми изображениями. Достаточно, чтобы можно было конвертировать в целевой формат из несжатого массива цветов и обратно, функции обработки изображений не нужны. Приветствую форматы PNG, JPEG и подобные.
_D>libpng
_D>libjpeg
_D>эти не подходят?
Над ними (+ еще несколько форматов) есть неплохая обертка
http://www.xdp.it/cximage/. Поддерживаемые форматы настраиваются до компиляции либы. Из того, что просили умеет:
bool CxImage::LoadResource (HRSRC hRes, uint32_t imagetype, HMODULE hModule=NULL)
bool CxImage::Load (const TCHAR *filename, uint32_t imagetype=0)
bool CxImage::Decode (FILE *hFile, uint32_t imagetype)
bool CxImage::Decode (CxFile *hFile, uint32_t imagetype)
bool CxImage::Decode (uint8_t *buffer, uint32_t size, uint32_t imagetype)
bool CxImage::CheckFormat (CxFile *hFile, uint32_t imagetype=0)
bool CxImage::CheckFormat (uint8_t *buffer, uint32_t size, uint32_t imagetype=0)
bool CxImage::Save (const TCHAR *filename, uint32_t imagetype)
bool CxImage::Encode (FILE *hFile, uint32_t imagetype)
bool CxImage::Encode (CxFile *hFile, uint32_t imagetype)
bool CxImage::Encode (CxFile *hFile, CxImage **pImages, int32_t pagecount, uint32_t imagetype)
bool CxImage::Encode (FILE *hFile, CxImage **pImages, int32_t pagecount, uint32_t imagetype)
bool CxImage::Encode (uint8_t *&buffer, int32_t &size, uint32_t imagetype)
bool CxImage::Encode2RGBA (CxFile *hFile, bool bFlipY=false)
bool CxImage::Encode2RGBA (uint8_t *&buffer, int32_t &size, bool bFlipY=false)
Здравствуйте, MTimur, Вы писали:
MT>Над ними (+ еще несколько форматов) есть неплохая обертка http://www.xdp.it/cximage/. Поддерживаемые форматы настраиваются до компиляции либы. Из того, что просили умеет:
Код без плюсов, но всё равно спасибо. Буду знать.