Ich möchte Bitmaps geglättet verkleinern und nutze dafür die Graphics32 Lib. Hier meine beisherigen Ergebnisse:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a, b: TBitmap32;
drect, srect: TRect;
begin
a := TBitmap32.Create;
b := TBitmap32.Create;
b.SetSize(200, 100);
if OpenDialog1.Execute then a.LoadFromFile(OpenDialog1.FileName);
dRect.Left := 0;
dRect.Top := 0;
dRect.Right := 200;
dRect.Bottom := 100;
sRect.Left := 0;
sRect.Top := 0;
sRect.Right := a.Width;
sRect.Bottom := a.Height;
StretchTransfer(b, drect, srect, a, srect, sfLanczos, dmOpaque, nil);
b.SaveToFile('d:\new.bmp');
end;
Jetzt will ich wissen, was ich für ein Rect für DstClip angebe???
StretchTransfer wurde in der Hilfe von Graphics32 folgendermaßen deklariert:
Delphi-Quellcode:
procedure StretchTransfer(
Dst: TBitmap32;
DstRect: TRect;
DstClip: TRect;
Src: TBitmap32;
SrcRect: TRect;
StretchFilter: TStretchFilter;
CombineOp: TDrawMode;
CombineCallBack: TPixelCombineEvent = nil);