望请指教,万分感谢!!!注:不要用copyrect,这东东只能放大还勉强可用,但缩小就乱成一团了!
解决方案 »
- 如何使用DBGridEh实现自动设置删除超长文本显示不下的多余部分,并以省略号(…)代替
- delphi 有没有读取文本内容为源代码的函数
- 问一个C函数转DELPHI函数的语法问题
- 三層方面開發問題
- 各位高手,对以下查询语句有何意见
- 我以前用的bde可以设置cachedupdates为true,现在在ado里却找不到相应功能的属性?
- 急,非常急,各位大侠救救命。
- 在客户端我怎么获得数据库服务器的日期?谢谢!
- installshield developer 和installshield professional有什么区别?
- 如何用DELPHI写WEB程序???
- 插入到数据库里时回车是怎么写的?
- 大家好,我把本地数据库放到网上,为什么奇慢无比?
然后将Image的Width,Height 同步放大、缩小相同的倍率,然后,image1.Stretch:=true;
不就OK了吗
or
image.height:=image.picture.height;
image.width:=(image.picture.width div image.picture.height)*image.picture.height
BmpFile1 :要缩放的原始图文件名
BmpFile2 :缩放并存盘的文件名
w2: 缩放后的图像宽度
h2: 缩放后的图像高度procedure ResizeBMP(BmpFile1,BmpFile2:String;w2,h2:Integer);
{作用:将位图BmpFIle1调整大小为w,h并存盘于BmpFile2中}
var
Bmp1,Bmp2 :TBitmap;
w1,h1:Integer;
begin
Bmp1 :=TBitmap.Create;
Bmp2 :=TBitmap.Create; Bmp1.LoadFromFile(BmpFile1); w1:=Bmp1.Width;
h1:=Bmp1.Height;
Bmp2.Width :=w1*w2 div w1;
Bmp2.Height :=h1*h2 div h1; SetStretchBltMode(Bmp2.Canvas.Handle,HalfTone);
StretchBlt(Bmp2.Canvas.Handle,0,0,w2,h2,
Bmp1.Canvas.Handle,0,0,w1,h1,SRCCOPY);
Bmp2.SaveToFile(BmpFile2);
Bmp1.Free;
Bmp2.Free;
end;范例:
...
//把照片缩放到100*200大小
ResizeBmp('c:\photo.bmp','c:\aaa.bmp',100,200);
//显示缩放后的照片
Image1.Pictue.Bitmap.LoadFromFile('c:\aaa.bmp');
...