c++ - Gdk::Pixbuf 不加载图像

标签 c++ gtk gdk gdkpixbuf

我正在尝试将 *.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-WARNING *:错误! gdk-pixbuf loader 'png' 没有在失败时设置错误。 PixbufError:无法加载图像“.../Test.png”:原因未知,可能是损坏的图像文件

libpng 版本是 12-dev 和 12-0

知道如何解决这个问题吗?

最佳答案

只是为了确定一下,你能发布以下结果吗:

dpkg -l | grep libjpeg

除此之外,您是否安装了 freeimage 库?

dpkg -l | grep libfreeimage

如果是这样,让它尝试删除这个包并再次尝试您的代码。

这有帮助吗?

关于c++ - Gdk::Pixbuf 不加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19813138/

相关文章:

c++ - 如何从随机数中取一个名字?

c - GtkRevealer 使 TextView 绘图出现故障

c - 调用函数时出现段错误(strcat_sse2_unaligned)

c - goocanvas - 坐标系和缩放到光标

c - GDK:如何刷新透明背景?

c++ - Linux绘制像素缓冲区

c - 如何在 C/GTK 中打开一个图像而不是小部件?

c++ - 从 dynamic_cast 获取非常量引用

c++ - 在 C++ 中使用 if/else 语句验证输入值

c++ - 查找给定输入的唯一路径名