Здравствуйте, _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)