Java反向剪切区域?
Posted
技术标签:
【中文标题】Java反向剪切区域?【英文标题】:Java reverse clipping region? 【发布时间】:2016-04-22 09:49:18 【问题描述】:您好,我正在为游戏制作闪光灯。我使用 Arc2D 制作手电筒,并且基本上剪掉了地图的一部分,以便只显示该部分,但我也希望地图的一部分也如此。
有没有办法反转我的剪辑区域并让该区域不被剪辑?
如何获得黑色区域?
【问题讨论】:
【参考方案1】:可以使用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
将成为全屏的形状,除了您原来的“弧形”剪切形状 - 即图像中的黑色区域。
相关答案,展示了一些灯光效果和图像合成:
https://***.com/a/21778759/3182664 https://***.com/a/23971327/3182664【讨论】:
以上是关于Java反向剪切区域?的主要内容,如果未能解决你的问题,请参考以下文章