GraphicsPath.Flatten()如何影响绘图性能?

时间:2011-03-04 12:53:23

标签: c# winforms gdi+ system.drawing

我担心我遇到Winforms / GDI +中的错误。我正在构建一条由线条和曲线组成的图形路径。在某些缩放级别(将变换矩阵应用于图形对象)时,错误地绘制了路径,请参见图片:

enter image description here

做一些测试我注意到如果我将Flatten()应用于图形路径,问题就会消失。似乎曲线被转换为连接的段,问题消失了(这是代码):

result.AddLine(sourcex, sourcey, sourcex, sourcey + sourceOffset);
result.AddArc(ellipseContainer, startAngle, sweepAngle);
result.Flatten(); // this line solves the issue!!

我调试了应用程序,图形路径中的点数为9,不适用Flatten(),53应用Flatten()

我的问题是。您如何看待将Flatten()应用于graphicsPaths的绘制性能?你认为这可能会受到这种变化的影响吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

如果您想要连接线条,则应使用AddLines

将其绘制为折线