快死翘翘了,image画图问题!
是这样的,我在一个Tpanel 中放了一个Timage控件
第一步
画一条线 从左上角到右下角
第二步
改变image大小(放大IMAGE)
第三步
画一条线 从左上角到右下角
结果线只能出半条,(原来大小区域有线)
[解决办法]
不知道楼主所说的是不是这样的情况:
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;