Ich weiss doch, daß man Dir nicht mit Details kommen muss
Ich habs so gemacht (proportionalies Resize):
Delphi-Quellcode:
procedure ResizeImage(aWICImage: TWICImage; NewWidth:Integer);
var
scale: IWICBitmapScaler;
wicBitmap: IWICBitmap;
newHeight:Integer;
faktor:Double;
begin
if Assigned(aWICImage) then
begin
faktor := NewWidth / aWICImage.Width;
newHeight := Round(aWICImage.Height * faktor);
aWICImage.ImagingFactory.CreateBitmapScaler(scale);
scale.Initialize(aWICImage.Handle, NewWidth, NewHeight, WICBitmapInterpolationModeFant);
aWICImage.ImagingFactory.CreateBitmapFromSourceRect(scale, 0,0,NewWidth, NewHeight, wicBitmap);
if Assigned(wicBitmap) then
aWICImage.Handle := wicBitmap;
end;
end;
Wie Du siehst, weitgehend gleich.
Sherlock