是这样的,我在一个Tpanel 中放了一个Timage控件第一步
  画一条线 从左上角到右下角
第二步
  改变image大小(放大IMAGE)
第三步
  画一条线 从左上角到右下角
 结果线只能出半条,(原来大小区域有线)

解决方案 »

  1.   

    不知道楼主所说的是不是这样的情况:procedure TForm1.Button1Click(Sender: TObject);
    begin
      Image1.Width := 50;
      Image1.Height := 50;
      Image1.Canvas.MoveTo(0, 0);
      Image1.Canvas.LineTo(Image1.Width - 1, Image1.Height - 1);
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      Image1.Width := 150;
      Image1.Height := 150;
      Image1.Canvas.MoveTo(0, 0);
      Image1.Canvas.LineTo(Image1.Width - 1, Image1.Height - 1);
    end;上面两段代码, 如果先执行Button2Click, 然后再任意执行Button1Click或Button2Click均没有问题。如果先执行Button1Click,然后再执行Button2Click时发现Image尺寸无法变大。如果是的话,可以这样改一下:procedure TForm1.Button1Click(Sender: TObject);
    begin
      Image1.Picture := nil;
      Image1.Width := 50;
      Image1.Height := 50;
      Image1.Canvas.MoveTo(0, 0);
      Image1.Canvas.LineTo(Image1.Width - 1, Image1.Height - 1);
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      Image1.Picture := nil;
      Image1.Width := 150;
      Image1.Height := 150;
      Image1.Canvas.MoveTo(0, 0);
      Image1.Canvas.LineTo(Image1.Width - 1, Image1.Height - 1);
    end;
      

  2.   

    补个问题.
    我在image上动态的画一个图型.
    如sinX 曲线
    可是经常会在画到一半的时候,image就不画了.是怎么一会事呢
      

  3.   

    你的image的宽度没有计算对吧。