怎样用Image控件实现预览windows墙纸(拉伸, 居中, 平铺)(50分)

  • 主题发起人 主题发起人 kuse
  • 开始时间 开始时间
K

kuse

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样用Image控件实现预览windows墙纸(拉伸, 居中, 平铺)?
 
拉伸 image1.stretch:=true;
居中 image1.center:=true;
平铺 我也不知道
 
使用image1.canvas.copyrect()可实现平铺功能。
例程如下:
procedure TForm1.Button1Click(Sender: TObject);
var
map:tbitmap;
arect1,arect2:trect;
i,j:integer;
begin
map:=tbitmap.Create;
map.LoadFromFile('c:/windows/forest.bmp');
i:=0;
j:=0;
arect1:=rect(0,0,map.width,map.height);
while map.height*j<=image1.height do
begin
while map.width*i<=image1.width do
begin
arect2:=rect(map.width*i,map.height*(j),map.width*(i+1),map.height*(j+1));
image1.Canvas.CopyRect(arect2,map.canvas,arect1);
inc(i);
end;
inc(j);
i:=0;
end;
//不需要解说吧
end;
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部