我有一个从svg文件(环境-Python3.7; Linux)加载的GdkPixbuf数据结构。根据svg中不同对象ID的区域,我要屏蔽/取消屏蔽GdkPixBuf图像。
我在python绑定中搜索了Gtk,Gdk和GdkPixbuf,但没有任何运气。欢迎任何建议。
示例代码:
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的其他部分应该是透明的。