如何使图片显示不失真(30分)

  • 主题发起人 主题发起人 seeok
  • 开始时间 开始时间
S

seeok

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi6中,用Image来显示Jpg图像,Image的大小有限。我把Stretch设为了True,图像
就失真了,不把Stretch设为True的话,如果图片比Image的大小大的话,也不行,请问各位有什么好的方法,可以使图片在Image中显示图片不失真?
 
你可以用CANVAS进行CANVASCOPY操作。就不会失真。
 
同意楼上
 
用一个免费的图形图像包,提供插值算法,效果不错。
http://g32.org/graphics32/index.html
 
procedure TForm1.OpenBTNClick(Sender: TObject);
var
pic:TJPEGImage;
Rec:TRect;
begin
pic:=TJPEGImage.Create;

if OD.Execute then
begin
pic.LoadFromFile(OD.FileName);
image1.Width:=pic.Width;
image1.Height:=pic.Height;
image1.Canvas.StretchDraw(image1.Canvas.ClipRect,pic);
//or Image1.picture.loadfromfile(od.filename);
end;
最好加一个TScrollbox,让图片可以滚动
end;
 
后退
顶部