如何缩放一个JPG图像?(50分)

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

study999

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手:
我加载一个JPG图像,然后设置两个按钮:一个放大,一个缩小,如何在'放大'和'缩小'中加入代码,实现JPG图像的放大和缩小?[:(]
 
高手们:
求求你们了!
 
建议使用 imageEn 控件,例子内有你需要的完整解决方案
 
to zhbj:
谢了.不过我是初学,请问imageeh控件在何位置?
 
可以用CANVE自带的显示程序!
 
在form 上加上个image,然后分别在放大和缩小按扭上加上以下代码:
放大: image1.width:=image1.width+ 10;
image1.height:=image1.heigh+8;
缩小: image1.width:=image1.width- 10;
image1.height:=image1.heigh-8;
 
使用Canvas.CopyRect(const Dest: TRect; Canvas: TCanvas; const Source: TRect);
只要 Dest和Source二个区域的大小不一样,就可以实现'放大'和'缩小'

如果把图加在Image中 image.stretch的属性为true,改变image的大小也可以
 
同意樓上的。
 
1.直接使用Delphi组件可以
2.使用楼上Canvas对象也可以
3.使用API函数也可以
 
图片的缩放
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;
 
多人接受答案了。
 
后退
顶部