您的位置:首页 > 其它

怎么保存TImage缩放后的图像?

2008-12-19 09:58 381 查看
怎么保存TImage缩放后的图像? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiMultimedia/html/delphi_20061023170728211.html

TImage加载一张图片,缩放显示,然后调用TImage.SaveToFile 保存,可保存的还是原始图片大小,能有个办法使保存的为缩放后的图像吗?

用StretchBlt

var Rect1,Rect2:TRect;
Bitmap :TBitmap;
begin
Image1.Stretch := True;
Rect1:=Rect(0,0,Image1.Width,Image1.Height);
Rect2:=Rect(0,0,Image1.Picture.Width,Image1.Picture.Height);
Bitmap := TBitmap.Create;
Bitmap.Width := Image1.Width;
Bitmap.Height := Image1.Height;
Bitmap.Canvas.CopyRect(Rect1,Image1.Canvas,Rect2);
Bitmap.SaveToFile('c:\test.bmp');
Bitmap.Free;
end;

学习

to:liangqingzhi(老之)
你的方法确实能保存,谢谢!
但是保存后图片颜色会失真,不知有解决方法没有?

Bitmap.PixelFormat := pf24bit;

SetStretchBltMode(Bmp.Canvas.Handle, STRETCH_HALFTONE);后图像质量有一定提高,但还是不够
再顶一次
下周一结贴

JPGE--->bmp 本来就会失色的~~这个和转换有关系的吧

缩放用 gdi+的 api 吧。。 还达不到要求就只能用其他插值酸法了
缩放肯定是有损的。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: