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

时间:2023-03-09 05:06:15
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;

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