【问题标题】:Hatching 2D polygon孵化 2D 多边形
【发布时间】:2014-10-08 12:55:37
【问题描述】:

给定一个由一组点组成的 2D 多边形,我希望通过多边形内部绘制阴影。我所说的影线是指均匀分布的线条,都在 45 度左右。

我很难想办法让它工作起来不会很慢,但必须检查每条预期线与所有多边形边缘是否相交。

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

谢谢。

【问题讨论】:

  • 您是否尝试过仅使用FillPolygon 使用HatchBrush 作为填充的画笔? HatchBrush 有一个名为HatchStyle 的属性,它有许多不同的样式可用,例如ForwardDiagonal,它从左上角到右下角绘制阴影线。

标签: c# geometry polygon


【解决方案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);
    }
}

【讨论】:

  • 我应该更具体一点,抱歉。实际的图形是使用 API(称为 HOOPS)完成的。它有所有常见的几何材料(线、曲线、多边形等),我认为你需要制作一个孵化器,但与你上面提到的完全不同。
猜你喜欢
  • 2019-06-22
  • 2011-02-01
  • 2015-07-24
  • 2010-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-27
  • 2011-04-08
相关资源
最近更新 更多