图像拉伸(100分)

  • 主题发起人 主题发起人 xf163
  • 开始时间 开始时间
X

xf163

Unregistered / Unconfirmed
GUEST, unregistred user!
有一640*480 的位图,当屏显为800*600 or 1024*768 时如何动态拉伸?
 
to xf163 :
你说的800×600等等,是指显示器的分辨率么?
你说的动态拉伸又是什么意思?
当显示器的分辨率改变时,图象本身的大小也会变化的,你是想保持原有的大小?
 
1.以上所指为显示器的分辨率.
2.有desk.bmp 584*399 256色 放在mainform中作背景,程序在640*480分辨率下很正常,
但当显示器的分辨率为800*600或更高时,如何让desk.bmp能全部填充满mainform 的
client区域.因客户的显示器的分辨率是不固定的,所以想在mainform.onshow中动态改变
以使图像适应新的显示器分辨率.就是所谓的动态拉伸了!

 
使用copyrect或bitblt函数均可。
 
to xf163 :
其实你可以在FORM上放一个IMAGE,设置为AUTOSIZE,加载图片;
这样当显示器的分辨率变化时,自动调整大小。

procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile('f:/图片/end004.bmp');
end;
 
to 卷起千堆雪tyn:

image1.align=alclient; autosize=true;

procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile('d:/res/deskcenter.bmp');(584*399 256色)
end;
试过了,不行。当显示器的分辨率较大时(大于bmp的点阵时)无法填满image

to ::bald_eagle 能不能详细点,举个例子?!


 

Strech := true; //设置了吗?
 
OK 了!
谢谢各位,我的原则是“见者有份”!
 
多人接受答案了。
 
好啊,我也有分。
 
后退
顶部