我有一个从 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 的其他部分预计是透明的。