看看这个绘图程序有什么问题,第五次循环的时候,就报System.OverflowException在 system.drawing.dll 谢谢大家

miuser 2005-08-11 09:08:50
定义:
private: int size_x;
private: System::Drawing::Graphics* b;
private: System::Drawing::Pen* a;

初始化
int i;
double PI;
PI=atan((double)1)*4;
size_x=1024;
a=new System::Drawing::Pen(Color::Red,1);

initW(size_x);
绘图
int x1,x2,y1,y2,i,x;
Double dj;
x1=0;
y1=0;
x=record(wavedata);
for (i=0;i<1000;i++)
{
xx[i].real=wavedata[i];
}
fft(xx);

for(i=0;i<size_x;i++)
{
dj=sqrt(pow(xx[i].real,2)+pow(xx[i].img,2));
y2=int(p1->Height-(double(dj)/64)*p1->Height);
x2=int((double(i)/size_x)*p1->Width);
b= p1->CreateGraphics();
b->DrawLine(a,x1,y1,x2,y2);
b->Dispose();
x1=x2;
y1=y2;
}
...全文
140 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsypenghong 2005-08-23
  • 打赏
  • 举报
回复
帮你顶~~
HeavenMonkey 2005-08-13
  • 打赏
  • 举报
回复
可能是资源枯竭的问题,释放一下资源试试:
System::GC::Collect();
System::GC::WaitForPendingFinalizers();
seanlwl 2005-08-11
  • 打赏
  • 举报
回复
检查x1,x2,y1,y2有否超出画布范围,或为负数。
Tony_lau111082 2005-08-11
  • 打赏
  • 举报
回复
代码没有什么错

关键是你要单步调试,看你的数据有没有问题啥

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧