请考虑以下情况:
我需要的是对多边形的所有区域执行一些处理,一次一个像素。在我的特定场景中,要扫描'整个图像逐个像素并验证它是否在任何多边形内,是不可接受的。额外奖励:如果一个像素已被处理,但它是多个多边形的一部分,请不要再处理它。
我想也许我可以,给定任何多边形和图像(任意宽度x高度),生成多边形区域内的像素列表。那么问题就更多的是数学问题,但我被困住了。其他方法也欢迎!有任何想法吗?非常感谢!
答案 0 :(得分:2)
你需要的是一个多边形光栅化器,它给出了多边形内的所有像素, 例如http://alienryderflex.com/polygon_fill/
如果你想组合多边形以分解双像素,那么我建议http://www.angusj.com/delphi/clipper.php
计算所有多边形的并集,并将它们添加为正数和非零缠绕规则,或者要在多边形上发布的任何其他规则(仅在它们自我重叠时才相关)。
答案 1 :(得分:1)
见Rasterizing a 2D polygon。 在这种情况下,您可以在特定像素上执行处理,而不是将每个像素设置为特定颜色。