各位大侠好,请帮忙解决一个模拟画线的方案? 在纵横坐标图中,固定几个点,然后根据几个点的位置画出平滑的线来?在什么上画?如何实现?最好有个例程!我可以另外开贴加分! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 学delphi的没有能解决这个问题吗?看你们的回答,说是可以在canvas上画,请问canvas控件在哪一个里面? {******************************************************************************* 按钮1的事件和计时器1---为扫描线形式*******************************************************************************}procedure TFrm_LeftScrollCurve.Button1Click(Sender: TObject);begin //如果没有下面的话,则背景默认为白色的 Image1.Canvas.Brush.Style := bsClear; Image1.Canvas.Brush.Color := clblack; Image1.Canvas.FillRect(Rect(0,0,Image1.Width,Image1.Height)); DoubleBuffered := true;//消除闪烁效果很好 scan_x := 0;//扫描线从最左边开始 start := 0; data := Trunc(Image1.Height / 2);//初始化sin的值在图形控件的中间 Timer1.Enabled := true;end;procedure TFrm_LeftScrollCurve.Timer1Timer(Sender: TObject);var input: double;//sin函数的自变量begin Image1.Canvas.Pen.Style := psSolid; Image1.Canvas.Pen.Width := 3; Image1.Canvas.Pen.Color := clblack; Image1.Canvas.MoveTo(scan_x, Image1.Height); Image1.Canvas.LineTo(scan_x, 0); Image1.Canvas.Pen.Color := cllime; Image1.Canvas.MoveTo(scan_x - 5, Trunc(data)); input := (start / Image1.Height) * 2 * pi; data := Sin(input); data := (1 - data) * Image1.Height / 2; Image1.Canvas.LineTo(scan_x - 5, Trunc(data)); scan_x := scan_x + 1; start := start + 1; if scan_x > Image1.Width then scan_x := 0; end; 截取后边3位数 请高手赐教!三层结构中关于master/detail表如何设置 谁研究过程序的在线升级呢?欢迎大家来讨论一下 有没有朋友知道用1000元能不能通过旅游社办理去香港或者澳门 简单的一个存储过程检查语法不通过 TreeView元件中的加號(+)以及減號(-)可否用別的圖形替換掉? 用ADO往oracle805里添加内容时出错,说什么字符集不匹配,不知道该如何解决,谢谢! 数据查询 字段问题请教高手 ***关于动态创建控件*** 如何读取excel文件中第二个sheet表中的内容 SMTP 發送郵件返回一個
按钮1的事件和计时器1---为扫描线形式
*******************************************************************************}
procedure TFrm_LeftScrollCurve.Button1Click(Sender: TObject);
begin
//如果没有下面的话,则背景默认为白色的
Image1.Canvas.Brush.Style := bsClear; Image1.Canvas.Brush.Color := clblack;
Image1.Canvas.FillRect(Rect(0,0,Image1.Width,Image1.Height)); DoubleBuffered := true;//消除闪烁效果很好
scan_x := 0;//扫描线从最左边开始
start := 0;
data := Trunc(Image1.Height / 2);//初始化sin的值在图形控件的中间
Timer1.Enabled := true;
end;procedure TFrm_LeftScrollCurve.Timer1Timer(Sender: TObject);
var
input: double;//sin函数的自变量
begin
Image1.Canvas.Pen.Style := psSolid;
Image1.Canvas.Pen.Width := 3;
Image1.Canvas.Pen.Color := clblack;
Image1.Canvas.MoveTo(scan_x, Image1.Height);
Image1.Canvas.LineTo(scan_x, 0); Image1.Canvas.Pen.Color := cllime;
Image1.Canvas.MoveTo(scan_x - 5, Trunc(data));
input := (start / Image1.Height) * 2 * pi;
data := Sin(input);
data := (1 - data) * Image1.Height / 2;
Image1.Canvas.LineTo(scan_x - 5, Trunc(data)); scan_x := scan_x + 1;
start := start + 1;
if scan_x > Image1.Width then scan_x := 0;
end;