[問題] 有關繪圖的問題
小弟目前在寫一個接收程式
透過Serialport接收data
並將其值繪出圖來看data變化
此接收一秒約有20筆data
為了要讓顯示出的圖表有即時效果
每收到一筆data就將其值丟至繪圖(一筆data就畫一個pixel)
且圖片顯示於picturebox裡
執行初期都可以達到應有的效果
但執行到一半就會出現以Messaege
InvalidOperationExceptionwas unhandled 其他地方正在使用物件
Troubleshooting tips:
If you are using the Graphics object after the GetHdc method, call the
ReleaseHdc method.
Get general help for exception.
所以想請教各位先進
為何會產生如此原因
是因為繪圖的速度趕不上傳輸的速度所造成的嗎?
還是有其他原因
不知道有什麼辦法可以解決此問題
感謝各位!!
以下是繪圖部份的code
int SourcePerX = 0; //前一點的座標X
int SourcePerY = 0 //前一點的座標y
int Value_X = 0;
private void DrawPixel(int value)
{
if (SourcePerX == BitmapWidth) //若畫到圖邊界clear重劃
{
SourcePerX= 0;
PicBlock = 0; //目前的座標的X
//DrawFrame();
GraphSource.Clear(Color.Black);
}
int Value_Y = (int)(value * BitmapHeight / BitmapRange); //目前座標Y
//繪圖將前一點座標連至目前座標
GraphSource.DrawLine(m_DrawPen, SourcePerX, SourcePerY, Value_X, Value_Y);
SourcePerY = Value_Y;
SourcePerX = Value_X ;
Value_X ++;
//
picturebox1.Image = BitmapSource; <----發生message的位置
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.19.79
推
04/28 17:57, , 1F
04/28 17:57, 1F