gpt4 book ai didi

.net - GraphicsPath 和 OutOfMemoryException

转载 作者:行者123 更新时间:2023-12-05 01:11:03 24 4
gpt4 key购买 nike

我有以下内容

private bool IsPathVisible(Rectangle detectorRectangle, GraphicsPath path, Pen pen)
{
path.Widen(pen);
return IsPathVisible(detectorRectangle, path);
}

path 点是同一点时,我收到 OutOfMemoryException(使用 Widen 函数)。

我该如何管理它?

最佳答案

这是 pen 和 widen 方法的错误。确保路径的起点和路径的终点不相同。

这是一个演示:

private void panel1_Paint(object sender, PaintEventArgs e)
{
//This works:
using (GraphicsPath path = new GraphicsPath())
{
path.AddLine(new Point(16, 16), new Point(20, 20));
path.Widen(Pens.Black);
e.Graphics.DrawPath(Pens.Black, path);
}

//This does not:
using (GraphicsPath path = new GraphicsPath())
{
path.AddLine(new Point(20, 20), new Point(20, 20));
path.Widen(Pens.Black);
e.Graphics.DrawPath(Pens.Black, path);
}
}

这是向 Microsoft 报告的位置:GraphicsPath.Widen throw OutOfMemoryException if the path has a single point

关于.net - GraphicsPath 和 OutOfMemoryException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6927774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com