У меня есть название альбома какой-то музыкальной группы. Я хочу нарисовать его с помощью какой-нибудь маски, которая закруглит углы изображения. Итак, я приготовил такую маску в 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
. Быстрые примеры, которые я нашел на этой странице .
Но все исчезло в моей программе, когда я установил оператор композитинга в cairo :(. Когда я комментирую эту строку, все в порядке, но маска поверх моего изображения. Как правильно это сделать?
ps Я использую python2, cairo library
Когда я удаляю оператор композитинга, я вижу (не забывайте, что настоящая маска белая, в данном случае изображение альбома темное):