Delphi 缩放图像代码 - 支持PNG透明通道

要求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;

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