首页 > 解决方案 > 如何屏蔽/取消屏蔽 GdkPixbuf 的某些显示区域?

问题描述

我有一个从 svg 文件(环境 - Python3.7;Linux)加载的 GdkPixbuf 数据结构。根据 svg 中不同对象 id 的区域,我想屏蔽/取消屏蔽 GdkPixBuf 图像。

我已经搜索了 Gtk、Gdk 和 GdkPixbuf 的 python 绑定,但没有任何运气。欢迎任何建议。

示例代码:

from gi.repository import GdkPixbuf

figure_file = 'QWERTY.svg'
width, height = 600, -1
preserve_aspect_ratio = True
im_data = GdkPixbuf.Pixbuf.new_from_file_at_scale(figure_file, width, height, preserve_aspect_ratio)

# Now I want to mask all parts im_data except 20x10 pixel rectangle at pixel(100,120)
maksed_im_data = mask_pixbuf(im_data, 100, 120, 20, 10)

mask_pixbuf函数应返回掩码 PixBuf(原始大小),其中只有以 (100,120) 为中心的大小为 20 x 10 的矩形区域可见。返回的 pixbuf 的其他部分预计是透明的。

标签: pythongtk3gdkgdkpixbuf

解决方案


推荐阅读