Ja, hab ich auch grad gemerkt... Jetzt klappts.
Vielleicht noch eine Bemerkung, wie ich mir das mit der Proportioneneihaltung gedacht habe.
Wenn ich als Resizegrösse z.B. 160x120 eingebe, so dachte ich eigentlich, dass das Ergebnis bestmöglich in diese Grösse reinpasst, und dennoch die Proportionen stimmen. Am Besten, ich erklärs an Beispielen:
Code:
1000 x 500 -> 160 x 80
1000 x 900 -> 133 x 120
500 x 1000 -> 60 x 120
Ich hoffe, du verstehst, was ich meine.
Ich habe mit deinem Programm eine neue Grösse von 160x80 angegeben. Mein Originalbild hatte die Grösse 1600x1200. Es wurde als Thumbnail von 160x120. Für die X Dimension also ok, aber zu gross für die Y Dimension. Erwarten würde ich ein Thumbnail von 107x80.
Berechnen würde ich das in etwa so:
Delphi-Quellcode:
function Crop (P : TPoint; CropSize : TPoint) : TPoint ;
var
prop: Double;
begin
prop := Min (CropSize.X / P.X, CropSize.Y / P.Y) ;
Result := Point (round(P.X*prop), round(P.Y*prop));
end;