delphi GDI 图片压缩代码 据说是位图缩放保持原图视觉效果最好的算法


delphi 图片压缩代码 据说是位图缩放保持原图视觉效果最好的算法

若有更好的,请大神留言我也学习下,感谢!

 

uses WinAPI.GDIPAPI, WinAPI.GDIPOBJ;

var
  Bitmap1: TGPBitmap;
  Bitmap2: TBitmap;
  Graphic: TGPGraphics;
begin
  Bitmap1 := TGPBitmap.Create('test.bmp');  // bmp, gif, jpeg, png...
  Bitmap2 := TBitmap.Create;
  with Bitmap2 do
    begin
      Width := Bitmap1.GetWidth * 2 div 3;  // shrink to 2/3 width
      Height := Bitmap1.GetHeight * 2 div 3;  // shrink to 2/3 height
      PixelFormat := pf32bit;
    end;
  Graphic := TGPGraphics.Create(Bitmap2.Canvas.Handle);
  Graphic.SetInterpolationMode(InterpolationModeHighQualityBicubic);  // bicubic resample
  Graphic.DrawImage(Bitmap1, 0, 0, Bitmap2.Width, Bitmap2.Height);
  Bitmap2.SaveToFile('test_resized.bmp');
  Graphic.Free;
  Bitmap2.Free;
  Bitmap1.Free;
end;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM