在 GTK 中缩放图像
在 GTK 中,如何缩放图像? 现在我用 PIL 加载图像并预先缩放它们,但是有没有办法用 GTK 来做到这一点?
In GTK, how can I scale an image? Right now I load images with PIL and scale them beforehand, but is there a way to do it with GTK?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
为此,使用 gtk.gdk.Pixbuf 从文件加载图像:
然后缩放它:
然后,如果您想在 gtk.Image 中使用它,请创建小部件并从 pixbuf 设置图像。
或者也许以直接的方式:
Load the image from a file using gtk.gdk.Pixbuf for that:
then scale it:
Then, if you want use it in a gtk.Image, crate the widget and set the image from the pixbuf.
Or maybe in a direct way:
在加载之前简单地缩放它们可能会更有效。 我特别这么认为,因为我使用这些函数从有时非常大的 JPEG 中加载 96x96 缩略图,仍然非常快。
It might be more effective to simply scale them before loading. I especially think so since I use these functions to load in 96x96 thumbnails from sometimes very large JPEGs, still very fast.
从 URL 缩放图像。 ( 比例参考 )
*<强>编辑:(解决问题)*
Scale image from URL. ( scale reference )
*EDIT: (work out fix) *
任何人在 C 中这样做。这就是它的完成方式
//假设您已经加载了文件并保存了文件名
//GTK_IMAGE(image)是用于显示图像的容器
anyone doing this in C. This is how it's done
//Assuming you already loaded the file and saved the filename
//GTK_IMAGE(image) is the container used to display the image
仅供参考,这是一个根据窗口大小缩放图像的解决方案(这意味着您正在扩展
GtkWindow
的类中实现此解决方案)。Just FYI, here is a solution which scales the image based on window size (Implying you are implementing this in a class which extends
GtkWindow
).实际上当我们使用
gdk_pixbuf_scale_simple(pb,700,700,GDK_INTERP_BILINEAR); 当与计时器事件一起使用时,此函数会导致内存泄漏(如果我们监视任务管理器,内存需求会继续增加,直到它杀死进程)。 如何解决这个问题
actually when we use
gdk_pixbuf_scale_simple(pb,700,700,GDK_INTERP_BILINEAR); this function causes memory leakage (If we monitor task manager the memory requirement goes on increasing till it kills the process) when used with a timer event. How to solve that