我已经过了好几次了,无法弄明白。方法DrawPath抛出一个System.OutOfMemoryException。
我已经看到pen.DashPattern实际上也在抛出System.OutOfMemoryException,所以我设置了破折号模式,但是纠正它并没有阻止错误。
using (var pen = new Pen(Color.Black,1.0f))
{
pen.DashPattern = new[]{1.0f};
pen.Transform = context.ReverseTransform;
try
{
using (var temporaryPath = new GraphicsPath(path.PathPoints, path.PathTypes))
{
context.Graphics.DrawPath(pen, temporaryPath);
}
}
}
这里的任何帮助都很可爱!提前谢谢!
答案 0 :(得分:0)
考虑到你是Pen和Path对象的属性处理,这是你的问题的根本原因是不太可能的。这一行可能会抛出异常,但问题已经酝酿了一段时间,这是只是打破骆驼背部的稻草,给冰山倾斜......你明白了。也就是说,了解Tigran在评论中提到的PathPoints
数组有多大是有帮助的。
让自己成为一个好的探查者(我使用免费试用的RedGate's ANTS Memory Profiler),让你的应用程序通过它的步伐,让内存使用量增加,然后使用探查器结果缩小实际的罪魁祸首。回过头来获取更多信息或结果,我将很乐意为您提供进一步的帮助。