JavaFX Canvas "рисует" прозрачность
Можно ли установить более низкое значение для прямоугольника (или любой формы) на холсте JFX после того, как он был ранее нарисован с более высокой альфа?
Например
gc.setFill(Color.BLACK)
gc.fillRoundRect(0, 0, 30, 30, 2, 2);
// Next command shall set transparency
gc.setFill(Color.TRANSPARENT)
gc.fillRoundRect(10, 10, 10, 10, 2, 2);
Это должно нарисовать круглое прямолинейное "отверстие" в прозрачном холсте.
Очевидно, это не так. Рисование с помощью TRANSPARENT не имеет никакого эффекта, поскольку режим смешивания по умолчанию SRC_OVER сохраняет прозрачность назначения. К сожалению, все альтернативные смешанные режимы утверждают, что используют такое же уравнение для альфы, как SRC_OVER. Что-то вроде blendmode "SUBTRACT" не существует.
Есть ли способ достичь того, что я хотел бы напрямую?
Я имею в виду без рисования линий, выглядящих как границы отверстия и без использования setLineWidth. Я хотел бы использовать это с гораздо более сложными формами, поэтому clearRect() также слишком ограничивает...
Огромное спасибо заранее!