在位图上绘制曲线(1000点)的优化方法

时间:2014-04-23 18:00:52

标签: c#

是否有一种优化的方法来传递将在位图上绘制单个曲线的点的缓冲区,或者我们是否重复调用相同的像素调用1000次?

1 个答案:

答案 0 :(得分:1)

如果您正在使用winform(是吗?)并且您的积分是数组

PointF[] myPoints = // wherever your data come from.;

你可以将它们泵入这样的GraphicsPath:

 GraphicsPath outPath = new GraphicsPath(//your.FillMode);
 outPath.AddLines(myPoints );

并在Paint事件中绘制它们:

 G.DrawPath(yourPen, outPath);

这将使用选定的笔在所有点上绘制PolyLine。 对于真正弯曲的线,您可以直接使用DrawCurve(如LarsTech所写):

 G.DrawCurve(yourPen, myPoints );

如果你想真正绘制点,你必须自己编写代码。如果你这样做的话,一定要查看lockbits,以获得类似于'表现'在winforms ..