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反向剪切区域?的主要内容,如果未能解决你的问题,请参考以下文章

实现反向解析区域

正向搜索查询和反向搜索查询的区别是啥?

反向区域DNS解析服务

BIND9反向区域解析

查看剪辑路径的反向区域

【Windows Server 2019】DNS服务器的配置与管理——DNS反向解析