У меня есть название альбома какой-то музыкальной группы. Я хочу нарисовать его с помощью маски, которая закруглит углы изображения.
Итак, я приготовил такую маску в gimp:
Я использую белую маску, но здесь она невидима на белом фоне.
Итак, вот код рендеринга:
# Draw album image
img = cairo.ImageSurface.create_from_png('images/album.png')
ctx.set_source_surface(img, posX, posY)
ctx.paint()
# Draw mask
ctx.set_operator(cairo.OPERATOR_DEST_IN)
img = cairo.ImageSurface.create_from_png('images/mask.png')
ctx.set_source_surface(img, posX, posY)
ctx.paint()
Как видите, я использовал OPERATOR_DEST_IN
. Быстрые примеры, которые я нашел на этой странице .
Но все исчезло в моей программе, когда я установил оператор композиции в Каире :(. Когда я комментирую эту строку, все в порядке, но маска над моим изображением. Каков правильный путь для этого?
p.s. Я использую Python2, Каирская библиотека
Когда я удаляю оператор композитинга, я вижу (не забывайте, что настоящая маска белая, в этом случае изображение альбома темное):