求助:在一个TImage控件里画四条曲线 在同一个image控件里画四条不同颜色的曲线,大家可有好的方法?请赐教,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Image -> Canvas -> MoveTo();Image -> Canvas -> LineTo();加上循环命令即可。看你要画什么样的曲线了 不同颜色可用Image -> Canvas -> Pen -> Color = clRed;下面给出一个例子画曲线的:void __fastcall TForm1::FormPaint(TObject *Sender){double A, x1, y1, x2, y2;int D = 80;double E;Width = 640;Height = 480;Image1 -> Canvas -> Pen -> Color = clRed; //画笔颜色设置Image1 -> Canvas -> Brush -> Style = bsClear; //画刷属性设置for(int i = 0; i < 270; i++){A = i * pi / 360;E = D *(1 + sin(4 * A));x1 = 240 + E * cos(A);x2 = 240 + E * cos(A + M_PI / 5);y1 = 180 + E * sin(A);y2 = 180 + E * sin(A + M_PI / 5);Image1 -> Canvas -> MoveTo(x1, y1);Image1 -> Canvas -> LineTo(x2, y2);}}不过代码是cbuilder格式的,Delphi很容易改过来,你可以参考下! 不同颜色可用Image -> Canvas -> Pen -> Color = clRed;下面给出一个例子画曲线的:void __fastcall TForm1::FormPaint(TObject *Sender){double A, x1, y1, x2, y2;int D = 80;double E;Width = 640;Height = 480;Image1 -> Canvas -> Pen -> Color = clRed; //画笔颜色设置Image1 -> Canvas -> Brush -> Style = bsClear; //画刷属性设置for(int i = 0; i < 270; i++){A = i * pi / 360;E = D *(1 + sin(4 * A));x1 = 240 + E * cos(A);x2 = 240 + E * cos(A + M_PI / 5);y1 = 180 + E * sin(A);y2 = 180 + E * sin(A + M_PI / 5);Image1 -> Canvas -> MoveTo(x1, y1);Image1 -> Canvas -> LineTo(x2, y2);}}不过代码是cbuilder格式的,Delphi很容易改过来,你可以参考下! 我的想法是,四条曲线不要周而复始地使用pen.color之类的。 在image控件里构造那种像chart控件里series[n]n可以是很多条曲线。然后:moveto() lineto(series[0]...,series[0]..)之类的。 BDE错误,求助各位大神~~~~~~~~~~ 注册表中rdUnknown类型的类型怎么读出来 用IdUDPClient,本机有多网卡,我想在其中一个网卡上发送广播怎么发呢?求高手~! 【100分】谁知道怎么将rm文件分为2个,2个文件都可以独立播放 招聘delphi开发人员 sql语句问题? 菜鸟问题!一经解决立刻给分!!! EXE在别人的机子上为什么不能运行? 解决这个问题,给你100分。(一个关于打印方面的问题) 五岁的小新,快出来!!! 求助:在一个TImage控件里画四条曲线 如图所示,如何在焦点获得这些按钮的caption
Image -> Canvas -> LineTo();
加上循环命令即可。看你要画什么样的曲线了
Image -> Canvas -> Pen -> Color = clRed;
下面给出一个例子画曲线的:void __fastcall TForm1::FormPaint(TObject *Sender)
{
double A, x1, y1, x2, y2;
int D = 80;
double E;
Width = 640;
Height = 480;
Image1 -> Canvas -> Pen -> Color = clRed; //画笔颜色设置
Image1 -> Canvas -> Brush -> Style = bsClear; //画刷属性设置
for(int i = 0; i < 270; i++)
{
A = i * pi / 360;
E = D *(1 + sin(4 * A));
x1 = 240 + E * cos(A);
x2 = 240 + E * cos(A + M_PI / 5);
y1 = 180 + E * sin(A);
y2 = 180 + E * sin(A + M_PI / 5);
Image1 -> Canvas -> MoveTo(x1, y1);
Image1 -> Canvas -> LineTo(x2, y2);
}
}
不过代码是cbuilder格式的,Delphi很容易改过来,你可以参考下!
Image -> Canvas -> Pen -> Color = clRed;
下面给出一个例子画曲线的:void __fastcall TForm1::FormPaint(TObject *Sender)
{
double A, x1, y1, x2, y2;
int D = 80;
double E;
Width = 640;
Height = 480;
Image1 -> Canvas -> Pen -> Color = clRed; //画笔颜色设置
Image1 -> Canvas -> Brush -> Style = bsClear; //画刷属性设置
for(int i = 0; i < 270; i++)
{
A = i * pi / 360;
E = D *(1 + sin(4 * A));
x1 = 240 + E * cos(A);
x2 = 240 + E * cos(A + M_PI / 5);
y1 = 180 + E * sin(A);
y2 = 180 + E * sin(A + M_PI / 5);
Image1 -> Canvas -> MoveTo(x1, y1);
Image1 -> Canvas -> LineTo(x2, y2);
}
}
不过代码是cbuilder格式的,Delphi很容易改过来,你可以参考下!
series[n]n可以是很多条曲线。
然后:moveto()
lineto(series[0]...,series[0]..)
之类的。