Как замаскировать / снять маску некоторые области отображения GdkPixbuf? - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть структура данных GdkPixbuf, загруженная из файла SVG (Среда - Python3.7; Linux).В зависимости от области различных идентификаторов объектов в svg, я хочу замаскировать / снять маску с изображения GdkPixBuf. * ​​1001 *

Я безуспешно искал привязку 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 (оригинального размера), где только прямоугольная область размером 20 x 10 с центром в (100,120) видно.Ожидается, что остальные части возвращаемого пикселя будут прозрачными.

...