Jak skalować jeden prostokąt do maksymalnego możliwego rozmiaru w innym prostokącie?
Mam prostokąt źródłowy i prostokąt docelowy. Muszę znaleźć maksymalną skalę, do której można skalować źródło podczas dopasowywania w prostokącie docelowym izachowując swój oryginalny współczynnik proporcji.
Google znalezionojeden sposób to zrobić, ale nie jestem pewien, czy to działa we wszystkich przypadkach. Oto moje domowe rozwiązanie:
Oblicz wysokość / szerokość dla każdego prostokąta. Daje to zbocza przekątnychmsrc
imdest
.Jeślimsrc < mdst
, źródło skaliszerokość aby dopasować cel podróżyszerokość (i wysokość skali w tym samym stosunku)W przeciwnym razie źródło skaliwysokość aby dopasować cel podróżywysokość (i szerokość skali w tym samym stosunku)Szukasz innych możliwych rozwiązań tego problemu. Nie jestem nawet pewien, czy mój algorytm działa we wszystkich przypadkach!