procedure TForm1.Button1Click(Sender: TObject);
//uses Winapi.GDIPOBJ, Winapi.GDIPAPI, Winapi.GDIPUTIL,
var
Input: TGPImage;
Output: TGPBitmap;
Encoder: TGUID;
Graphics: TGPGraphics;
begin
Input := TGPImage.Create('C:\InputImage.png');
try
// create the output bitmap in desired size
Output := TGPBitmap.Create(100, 100, PixelFormat32bppARGB);
try
// create graphics object for output image
Graphics := TGPGraphics.Create(Output);
try
// set the composition mode to copy
Graphics.SetCompositingMode(CompositingModeSourceCopy);
// set high quality rendering modes
Graphics.SetInterpolationMode(InterpolationModeHighQualityBicubic);
Graphics.SetPixelOffsetMode(PixelOffsetModeHighQuality);
Graphics.SetSmoothingMode(SmoothingModeHighQuality);
// draw the input image on the output in modified size
Graphics.DrawImage(Input, 0, 0, Output.GetWidth, Output.GetHeight);
finally
Graphics.Free;
end;
// get encoder and encode the output image
if GetEncoderClsid('image/png', Encoder) <> -1 then
Output.Save('C:\OutputImage.png', Encoder)
else
raise Exception.Create('Failed to get encoder.');
finally
Output.Free;
end;
finally
Input.Free;
end;
end;