Du könntest es mal so probieren:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
R: TKernelResampler;
tbmpDest : TBitmap32;
tbmpSource: TBitmap32;
SaveDlg: TSaveDialog;
begin
with TOpenPictureDialog.Create(nil) do
begin
if Execute then
begin
tbmpSource := TBitmap32.Create;
tbmpSource.LoadFromFile(FileName);
R := TKernelResampler.Create(tbmpSource); //<-einen Resampler fürs verkleinern benutzen
R.Kernel := TCosineKernel.Create;
tbmpDest := TBitmap32.Create;
tbmpDest.SetSize(550, 412);
tbmpDest.Draw(tbmpDest.BoundsRect, tbmpSource.BoundsRect, tbmpSource);
Image1.Picture.Bitmap.Assign(tbmpDest);
SaveDlg := TSaveDialog.Create(nil);
if SaveDlg.Execute then
tbmpDest.SaveToFile(SaveDlg.FileName);
SaveDlg.Free;
tbmpDest.Free;
end;
end;
end;