在预先用较高的alpha绘制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);
这应该在原本透明的Canvas中绘制一个矩形的“孔”。
显然不是。使用TRANSPARENT绘制无效,因为默认的blendmode SRC_OVER保留了目标的不透明度。 不幸的是,所有其他混合模式都声称对Salpha使用相同的方程式,例如SRC_OVER。 似乎不存在混合模式“ SUBTRACT”之类的东西。
有什么办法可以直接实现我想要的?
我的意思是不绘制看起来像孔边界的线并且不使用setLineWidth。我想将其用于更复杂的形状,因此clearRect()也太局限了...
非常感谢!