问题描述
我使用构建器来构建 GTK 应用程序。 当我收到调整大小信号时,我想调整我的图像大小,我想通过调整 pixbuf 的大小来实现,如下所示:
use gtk::prelude::*;
use gtk::Image;
...
let back_img: Image = builder.get_object::<Image>("backgroundImage").expect("Couldn't find backrground image");
let mut pixbuf = back_img.get_pixbuf().unwrap();
pixbuf = pixbuf.scale_simple(widget.get_allocated_width(),widget.get_allocated_height(),gtk::gdk_pixbuf::InterpType::Bilinear).unwrap();
back_img.set_from_pixbuf(Some(&pixbuf));
问题是 gdk_pixbuf 是一个私有包,这意味着我无法访问 InterpType,因此无法调整图像大小。
我尝试自己导入 gdk_pixbuf 并以多种不同方式引用 InterpType,但这给我带来了其他问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)