读书人

快死翘翘了,image画图有关问题

发布时间: 2012-03-09 21:42:55 作者: rapoo

快死翘翘了,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;

读书人网 >.NET

热点推荐