请考虑以下情况:
然后,我需要对多边形的所有区域执行一些处理,一次只执行一个像素。在我的特定场景中,逐像素“扫描”整个图像并验证它是否在任何多边形内是不可接受的。奖励:如果一个像素已经被处理,但它是多个多边形的一部分,不要再处理它。
我在想,也许我可以,给定任何多边形和图像(任意宽度x高度),生成一个位于多边形区域内的像素列表。那么问题就更像是一道数学题,但我被困住了。其他方法也是受欢迎的!有什么想法吗?非常感谢!
发布于 2015-09-09 00:03:52
您需要的是一个多边形栅格器,它提供一个多边形内的所有像素,例如fill/
如果您想将多边形组合成双像素,那么我建议使用http://www.angusj.com/delphi/clipper.php
计算所有多边形的合并,并将它们加为正数,并使用非零缠绕规则,或任何其他您想在多边形上发布的规则(只有在它们是自重叠的情况下才相关)。
发布于 2015-09-09 00:07:04
见Rasterizing a 2D polygon。在这种情况下,您可以在特定像素上执行进程,而不是将每个像素设置为特定颜色。
https://stackoverflow.com/questions/32468943
复制相似问题