我试图将一个*.jpg映像加载到Gdk::Pixbuf中,但是它失败了,并一直告诉我:错误地解释JPEG图像文件(错误的JPEG库版本:库是62,调用者期望80)
try{
Gdk::Pixbuf::create_from_file(".../Test.jpg");
}
catch(const Glib::FileError& ex) {
std::cerr << "FileError: " << ex.what() << std::endl;
}
catch(const Gdk::PixbufError& ex) {
std::cerr << "PixbufError: " << ex.what() << std::endl;
}唯一安装的版本是libjpeg8和libjpeg8-dev。
我有一个类似的问题加载.png图像:GdkPixbuf-警告*:Bug!gdk-像素加载程序'png‘没有在失败时设置错误。PixbufError:未能加载图像‘./Test.png’:原因未知,可能是损坏的图像文件
libpng版本为12-dev和12-0。
知道怎么解决这个问题吗?
发布于 2013-11-06 19:52:15
我只是想确认一下,你能发布以下结果吗?
dpkg -l | grep libjpeg除此之外,您是否安装了免费映像库?
dpkg -l | grep libfreeimage如果是这样的话,给它尝试删除这个包并再次尝试您的代码。
这个有用吗?
发布于 2013-11-07 12:55:37
文件名看起来很奇怪,有一个点比预期的多。使用“./Test.jpg”而不是“./Test.jpg”。
并检查您的文件实际上是一个jpeg,而不是重命名为jpeg的png。file ../Test.jpg应该告诉你。
https://stackoverflow.com/questions/19813138
复制相似问题