Delphi 缩放图像代码 - 支持PNG透明通道(利用了Windows的windowscodecs.dll)

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi 缩放图像代码 - 支持PNG透明通道(利用了Windows的windowscodecs.dll)相关的知识,希望对你有一定的参考价值。

要求Delphi2007或者更高版本, 系统要求至少XP-SP2以上

实际上是利用了Windows的windowscodecs.dll这个文件的功能

在VCL里已经封装为TWICImage类

 

复制代码
procedure ScalerImage(AImage: TWICImage; AWidth, AHeight: Word);
var
  nWIF: IWICImagingFactory;
  nWIS: IWICBitmapScaler;
begin
  nWIF := AImage.ImagingFactory;
  nWIF.CreateBitmapScaler(nWIS);
  nWIS.Initialize(AImage.Handle, AWidth, AHeight, WICBitmapInterpolationModeFant);
  AImage.Handle := IWICBitmap(nWIS);
  nWIS := nil;
  nWIF := nil;
end;
复制代码

 

用这个类还可以做更多图像效果, 比如反转, 或者格式转化什么的

http://www.cnblogs.com/hs-kill/p/3460064.html

以上是关于Delphi 缩放图像代码 - 支持PNG透明通道(利用了Windows的windowscodecs.dll)的主要内容,如果未能解决你的问题,请参考以下文章

Png 图像缩放保持 Alpha 通道

如何使背景PNG图像Alpha通道在QMainWindow中显示为透明

png24 png8 jpeg与gif

使用 FPDF (PHP) 插入带有 alpha 通道的 PNG

在C#.net代码中如何生成透明背景的png图片

GIMP 抠图/证件照背景色