uses WinAPI.GDIPAPI, WinAPI.GDIPOBJ;
var
Bitmap1: TGPBitmap;
Bitmap2: TBitmap;
Graphic: TGPGraphics;
begin
Bitmap1 := TGPBitmap.Create('test.bmp'); // bmp, gif, jpeg, png...
Bitmap2 := TBitmap.Create;
with Bitmap2 do
begin
Width := Bitmap1.GetWidth * 2 div 3; // shrink to 2/3 width
Height := Bitmap1.GetHeight * 2 div 3; // shrink to 2/3 height
PixelFormat := pf32bit;
end;
Graphic := TGPGraphics.Create(Bitmap2.Canvas.Handle);
Graphic.SetInterpolationMode(InterpolationModeHighQualityBicubic); // bicubic resample
Graphic.DrawImage(Bitmap1, 0, 0, Bitmap2.Width, Bitmap2.Height);
Bitmap2.SaveToFile('test_resized.bmp');
Graphic.Free;
Bitmap2.Free;
Bitmap1.Free;
end;
转自:https://bbs.csdn.net/topics/390695373