在同一个image控件里画四条不同颜色的曲线,大家可有好的方法?请赐教,谢谢。

解决方案 »

  1.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
      graphic:TControlCanvas;
    begin
      graphic := TControlCanvas.Create;
      graphic.Control := Image1;
      graphic.Pen.Color := clRed;
      graphic.MoveTo(0,0);
      graphic.LineTo(100,0);
      graphic.Pen.Color := clBlue;
      graphic.MoveTo(10,10);
      graphic.LineTo(100,0);
      graphic.Pen.Color := clYellow;
      graphic.MoveTo(20,20);
      graphic.LineTo(100,0);
      graphic.Pen.Color := clGreen;
      graphic.MoveTo(30,30);
      graphic.LineTo(100,0);
    end;
      

  2.   

    改变Pen颜色,用moveto,lineto就画吧
      

  3.   

    大家可以赐教不要重复使用pen.color=?的四条曲线呢?
    我写的四条曲线如下,大家讨论一下:
    begin
      Ppen:=createpen(ps_solid,0,clred);
      SelectObject(MemDC,Ppen);
      movetoex(MemDC,x1,y1,NIL);
      Lineto(MemDC,m,n);
      x1:=m;
      y1:=n;
      DeleteObject(Ppen);
    end;
     
    反复调用四次,每次更改第一句的颜色部分,以及x1,y1,m,n的值就是了。大家看看有什么不好?
    这里反复调用下面这几句:
      Ppen:=createpen(ps_solid,0,clred);
      SelectObject(MemDC,Ppen);
      ........
      DeleteObject(Ppen);
    是影响画图速度的最大不足,大家可有更改的办法?谢谢了