孵化2D多边形

时间:2014-10-08 12:55:37

标签: c# geometry polygon

给定由一组点组成的2D多边形,我希望通过多边形内部绘制阴影线。通过阴影我的意思是均匀地划出线条,所有线条都在45度左右。

我无法想办法让这项工作变得非常缓慢,但必须检查每条预测线与所有多边形边相交。

有没有人知道如何处理这个问题,或者任何可能有效的现有技术?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以像这样使用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);
    }
}