在GTK中缩放图像

Cla*_*diu 17 python gtk user-interface pygtk image

在GTK中,如何缩放图像?现在我用PIL加载图像并预先缩放它们,但有没有办法用GTK做到这一点?

mar*_*kuz 22

使用gtk.gdk.Pixbuf从文件加载图像:

import gtk
pixbuf = gtk.gdk.pixbuf_new_from_file('/path/to/the/image.png')
Run Code Online (Sandbox Code Playgroud)

然后缩放它:

pixbuf = pixbuf.scale_simple(width, height, gtk.gdk.INTERP_BILINEAR)
Run Code Online (Sandbox Code Playgroud)

然后,如果你想在gtk.Image中使用它,请创建窗口小部件并从pixbuf设置图像.

image = gtk.Image()
image.set_from_pixbuf(pixbuf)
Run Code Online (Sandbox Code Playgroud)

或者也许是以直接的方式:

image = gtk.image_new_from_pixbuf(pixbuf)
Run Code Online (Sandbox Code Playgroud)

  • 我们可以在 C 中也有这个解决方案......我正在寻找相同的东西,但在 C 和 GTK+ 下......使用 GtkImage *image = gtk_image_new_from_file() (2认同)

u0b*_*6ae 7

在加载之前简单地缩放它们可能更有效.我特别这么认为,因为我使用这些函数从有时非常大的JPEG加载96x96缩略图,仍然非常快.

gtk.gdk.pixbuf_new_from_file_at_scale(..)
gtk.gdk.pixbuf_new_from_file_at_size(..)
Run Code Online (Sandbox Code Playgroud)