怎么保存TImage缩放后的图像? Delphi / Windows SDK/APIhttp://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 吧。。 还达不到要求就只能用其他插值酸法了
缩放肯定是有损的。。。