填充2D多边形
本文关键字:多边形 2D 填充 | 更新日期: 2023-09-27 18:26:04
给定一个由一组点组成的2D多边形,我希望通过多边形内部绘制阴影。我所说的影线是指将线条均匀地隔开,角度都在45度左右。
我很难想出一种不会很慢的方法来实现这一点,因为我必须对照所有多边形边检查每条预期的线是否相交。
有人知道如何处理这个问题吗,或者有任何现有的技术可能奏效吗?
谢谢。
您可以像这样使用FillPolygon和HatchBrush:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//A using statement on the brush will make sure it is disposed.
using (var b1 = new HatchBrush(HatchStyle.ForwardDiagonal, Color.Red))
{
PointF[] points = methodThatReturnsPointsForAPolygon();
e.Graphics.FillPolygon(b1, points);
}
}