使用VS自帶的chart控制元件,沒有豎線游標。后來想自己做,不用CHART控制元件,做了PICTUREBOX,然后用
Graphics g = pictureBox1.CreateGraphics();
Pen blackPen = new Pen(Color.Black,2);//創建畫筆
int x = 0;
int y = 0;
for(int i=1;i<1000;i++)
{
g.DrawLine(blackPen, new Point(i - 1, (int)(0.5*(i - 1))), new Point(i , (int)(0.5 * (i ))));
}
繪制1000個點,耗時300毫秒。
但是用CHART控制元件,同樣繪制1000個點,耗時只有10毫秒以內,大神們,能解釋嗎?
uj5u.com熱心網友回復:
先畫到記憶體影像中,再畫到控制元件上。
var g = pictureBox1.CreateGraphics();
Bitmap bitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);
var gb = Graphics.FromImage(bitmap);
gb.Clear(Color.White);
Pen blackPen = new Pen(Color.Black, 2);
for (int i = 0; i < 1000; i++)
{
gb.DrawLine(blackPen, new Point(i * 4, 0), new Point(i * 4, 300));
}
g.DrawImage(bitmap, new PointF(0, 0));
uj5u.com熱心網友回復:
果然快了很多,測驗為25毫秒,但是還是比不上CHART,它只有十幾毫秒。感謝二樓轉載請註明出處,本文鏈接:https://www.uj5u.com/net/210346.html
標籤:C#
下一篇:請教下字串格式化的問題
