CImg save_jpeg() 不起作用

CImg save_jpeg() does not work

我对 CImg 有疑问。我想将 .bmp 文件转换为 .jpg 文件。

#include "CImg.h"
using namespace cimg_library;
(...)
CImg<unsigned char> image("image.bmp");
image.save_jpeg("image.jpg", 60);

当我要运行这个程序时,有时它return会报错: CImag error

有时没有出现,也没有创建.jpg文件。

我想补充一点,另一个 CImg 函数可以正常工作,比如将照片转为灰度。

你能告诉我这段代码有什么问题吗?也许这是另一种将照片转换并保存为 .jpg 文件的方法?

编辑: 当我添加

#define cimg_use_jpeg

之前

#include <CImg.h>

关于 cimg.h

我有很多错误

尝试在您的 #include "CImg.h"

之前添加此行
#define cimg_use_jpeg 1

它告诉 CImg 使用它自己的内部 JPEG encoder/decoder 而不是 ImageMagick,您可能没有安装它。

为了完整起见,还有:

#define cimg_use_tiff 1
#define cimg_use_png 1