急!!!图片在image中显示的时候,如何按比例自动缩放图片的大小?

lorvery 2006-04-08 04:51:01
当一张图片的实际尺寸大于image所在的panel时,只能看到图片的一部分?
如何使图片按比例缩小后全部显示出来?
...全文
1350 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
SonicX 2006-04-27
  • 打赏
  • 举报
回复
//等比例缩小
uses Math;
var
Zoom:Extended;
W,H:integer;
bmp:Tbitmap;
begin
bmp:=Tbitmap.Create;
bmp.LoadFromFile('c:\aa.bmp');
Zoom:=Image1.Width/Max(bmp.Width,bmp.Height); //获得比例值
W:=Trunc(bmp.Width*Zoom);
H:=Trunc(bmp.Height*Zoom);
//居中显示缩小后的图片
Image1.Canvas.StretchDraw(Rect(Trunc((Image1.width-W)/2),Trunc((Image1.Height-H)/2),Trunc((Image1.width-W)/2)+W,Trunc((Image1.Height-H)/2)+H),Bmp);
bmp.free;
end;
rock8283 2006-04-26
  • 打赏
  • 举报
回复
关注中...
Allblus 2006-04-26
  • 打赏
  • 举报
回复
这样不行,要把图片按缩略图显示上面的都不可以,怎么办啊,我也要这样做
  • 打赏
  • 举报
回复
查看中学数学课程中的:等比。。

举例:

2 4
- -
4 8

4*4=16
2*8=16

四个数分别对应原始图片长宽,及你想缩放后图片的宽(长),就能算出缩放后图片的长(宽)。
Frank.WU 2006-04-08
  • 打赏
  • 举报
回复
autosize :=true;
Stretch :=true;
lorvery 2006-04-08
  • 打赏
  • 举报
回复
不行,还是只能看到实际图片的一部分
老之 2006-04-08
  • 打赏
  • 举报
回复
Image的Stretch属性设成True

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧