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

Posted 夜郎王子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

以上是关于delphi GDI 图片压缩代码 据说是位图缩放保持原图视觉效果最好的算法的主要内容,如果未能解决你的问题,请参考以下文章

Delphi GDI对象之脱屏位图(Offscreen Bitmaps),也叫内存位图

SwiftUI图片处理(缩放拼图)

Android 拍照或相册选择照片进行显示缩放位图 Demo

vc中如何让背景图片随窗体的大小变化而改变 mfc

GDI+ 支持的图片文件格式

是否可以在 Delphi 中平滑缩放的 TBitmap?