Dopasowanie rozmiarów TImage do zawartości

0

Cześć, od jakiegoś czasu walczę z tym i na nic ciekawego wpaść nie mogę. Załóżmy, że mamy obrazek o rozmiarach X na Y, gdzie:
X i Y>1000 px
X <> Y

Mamy TImage o rozmiarach 500x500 i chcemy umieścić w nim obrazek. TImage nie może się powiększyć. Efektem końcowym musi być to, że TImage ma rozmiary swojej grafiki. Czyli jeśli grafika została zmniejszona do rozmiarów np. 500x300, to TImage ma mieć te same.

  1. Ładuję do niego obrazek.
  2. Ustawiam Proportional:=true

Jeśli teraz np. X>Y, to musimy zmniejszyć wysokość TImage na... no właśnie. Na jaką? Skąd wiedzieć, jakie rozmiary ma grafika w TImage po Proportional:=true?

Próbowałem kombinować z Picture i Picture.Graphic, ale rozmary tam zawarte były oryginalnymi rozmiarami obrazu, czyli X i Y. Jak to okiełznać?

0
var mul:Double;

mul:=500/Max(X,Y);
Width:=Round(mul*X);
Height:=Round(mul*Y);

1 użytkowników online, w tym zalogowanych: 0, gości: 1