0

我使用构建器来构建 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 是一个私有 crate,这意味着我无法访问 InterpType,因此无法调整图像大小。

我尝试自己导入 gdk_pixbuf 并以许多不同的方式引用 InterpType 但这给了我其他问题。

4

0 回答 0