delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
怎么保存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     吧。。   还达不到要求就只能用其他插值酸法了  
  缩放肯定是有损的。。。

posted on 2008-12-19 10:01 delphi2007 阅读(646) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。