作者fongfonglin (越夜越美丽)
看板C_Sharp
标题[问题] 有关绘图的问题
时间Wed Apr 28 14:41:21 2010
小弟目前在写一个接收程式
透过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
1F:推 wesley412:use delegate 04/28 17:57