Java反向剪辑区域?

时间:2016-01-17 01:36:18

标签: java graphics clipping

嗨,我正在为游戏制作闪光灯。我使用Arc2D制作手电筒并且基本上剪辑了地图的一部分,以便只显示该部分,但我也想要部分地图也是如此。

是否有反转我的裁剪区域并让区域没有剪裁? enter image description here

如何获得黑色区域?

1 个答案:

答案 0 :(得分:0)

您可以使用Area#subtract方法获取所需的区域:

Rectangle2D screen = 
    new Rectangle2D.Double(0,0,screenWidth, screenHeight);
Area result = new Area(screen);
Area clippingArea = new Area(yourArcClipShape);
result.subtract(clippingArea);

result将是全屏的形状,之外的原始“弧形”剪裁形状 - 即图像中的黑色区域。

相关答案,显示一些灯光效果和图像合成: