cairo умножает значения с включенным альфа-каналом

#cairo

#cairo

Вопрос:

Я хочу достичь

 source.rgba * dest.rgba
  

с помощью cairo. Возможно ли это без написания цикла вручную? Оператор умножения по-прежнему использует альфа-over, что неправильно.

Один из операндов — это возможно повернутая маска, а другой — карта теней, которая не повернута. Вот картинки. Маска будет видна, если вы откроете ее в Gimp, где умножение делает именно то, что я хочу.

Белая маска Карта теней Результат

Комментарии:

1. Вы когда-нибудь находили решение для этого?