关于Canvas画图的

reallaowu 2003-05-04 09:44:26
应课程需要,我想画cos函数,用cb的Paintbox->Canvas实现
我曾在vb下实现过类似的功能,但cb老是画不好正选函数,大活帮啊


画cos函数,我的代码如下:

const float PI=3.1415;
int A=20; //振幅

PaintBox的ONPaint事件中

const float PI=3.1415;
int A=150; //振幅
int Y;
//画x轴
PaintBox1->Canvas->MoveTo(0,PaintBox1->ClientHeight/2);
PaintBox1->Canvas->LineTo(PaintBox1->ClientWidth,PaintBox1->ClientHeight/2);
//图象的第一点
Y=PaintBox1->ClientHeight/2-A*(int)cos(PI*0);
PaintBox1->Canvas->MoveTo(0,Y);
for(int i=1;i<PaintBox1->ClientWidth;i++)
{
Y=PaintBox1->ClientHeight/2-A*(int)cos(PI/50*i);
PaintBox1->Canvas->LineTo(i,Y);
PaintBox1->Canvas->MoveTo(i,Y);
}
大家帮帮啊
...全文
23 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
c2y 2003-05-04
  • 打赏
  • 举报
回复
const float PI=3.1415;
int A=150; //振幅
int Y;
//画x轴
PaintBox1->Canvas->LineTo(0,PaintBox1->ClientHeight/2);
PaintBox1->Canvas->LineTo(PaintBox1->ClientWidth,PaintBox1->ClientHeight/2);
//图象的第一点
Y=PaintBox1->ClientHeight/2-A*cos(PI*0);
PaintBox1->Canvas->MoveTo(0,Y);
for(int i=1;i<PaintBox1->ClientWidth;i++)
{
Y=PaintBox1->ClientHeight/2-A*cos(PI/50*i);
PaintBox1->Canvas->LineTo(i,Y);
}
c2y 2003-05-04
  • 打赏
  • 举报
回复
将这两句
Y=PaintBox1->ClientHeight/2-A*(int)cos(PI*0);
Y=PaintBox1->ClientHeight/2-A*(int)cos(PI/50*i);

改为
Y=PaintBox1->ClientHeight/2-A*cos(PI*0);
Y=PaintBox1->ClientHeight/2-A*cos(PI/50*i);

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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