图片的缩放问题(50分)

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

seeok

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中有什么控件可以使图片放大和缩小(可以安一定的比例),图片是从数据库中读取出来的!!
 
根据读出的图片大小和你需要的比例计算出要显示的长和宽即可。
 
TImage/TDBImage
 
这样行吗?
 
DELPHI自带的控件不能实现你想要的功能,除非你自己写代码,或者用第三方控件
看看以下的例子吧:
procedure TForm1.Button1Click(Sender: TObject);
var
b: TBitmap;//原图片
nb: TBitmap;//Resize以后的图片
r: TRect;
begin
b := TBitmap.Create;

if OpenDialog1.Execute then
begin
b.LoadFromFile(OpenDialog1.FileName);
nb := TBitmap.Create;

//你可以自己定义高度和宽度,这里是都变成一半
nb.Height := b.Height div 2; //高度变为原来的一半
nb.Width := b.Width div 2; //宽度变为原来的一半
r.TopLeft := Point(0, 0);
r.BottomRight := Point(nb.Width, nb.Height);

with nb.Canvas do
begin
Pen.Style := psDash;
Brush.Style := bsClear;
Rectangle(0, 0, nb.Width, nb.Height);
StretchDraw(r, TGraphic(b));
end;
if SaveDialog1.Execute then nb.SaveToFile(SaveDialog1.FileName);
nb.Free;
end;
b.Free;
end;
 
还有看看我的笔记吧:
http://www.delphibbs.com/keylife/iblog_show.asp?xid=2931
 
接受答案了.
 
后退
顶部