给定由一组点组成的2D多边形,我希望通过多边形内部绘制阴影线。通过阴影我的意思是均匀地划出线条,所有线条都在45度左右。
我无法想办法让这项工作变得非常缓慢,但必须检查每条预测线与所有多边形边相交。
有没有人知道如何处理这个问题,或者任何可能有效的现有技术?
感谢。
答案 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);
}
}