【发布时间】:2014-01-13 06:24:32
【问题描述】:
有很多程序和算法用于将位图转换为矢量,但我想要一个简单的算法来将 多边形 转换为 Points 位图或将其映射到 grid,用 C# 编写。
我确信有很多这样的算法,但我找不到;非常感谢您的帮助。
上面的图片是我想要的样本。输入是红色多边形和网格,输出是紫色单元格。
【问题讨论】:
-
这不就是创建一个合适大小的位图,然后使用
Graphics.DrawLine()或Graphics.DrawLines()吗? -
我编辑了问题:我添加了一张图片来展示我想要的样本。输入是红色多边形和网格,输出是紫色单元格。
-
好的,这是一个填充的多边形,您可以使用
Graphics.FillPolygon()绘制它 -
不完全是。我只想要紫色细胞。填充算法,填充所有多边形;甚至切割的细胞。但我不想要它们。
-
一般称为“光栅化”,是计算机图形学的基本算法之一。通常,您确定一个几何点来表示每个像素以确定内部/外部。 (这对于一致性是必要的,否则两个相邻的填充多边形会在它们之间留下间隙。)您似乎想要完全包含像素,对吗?您是否了解您的要求对于多边形填充是非标准的?你有这样的理由吗?