Как мне масштабировать один прямоугольник до максимально возможного размера внутри другого прямоугольника?
У меня есть исходный прямоугольник и целевой прямоугольник. Мне нужно найти максимальный масштаб, до которого можно масштабировать источник при подгонке к целевому прямоугольнику исохраняя исходное соотношение сторон.
Google нашелодин способ сделать это, но я не уверен, работает ли он во всех случаях. Вот мое домашнее решение:
Рассчитайте высоту / ширину для каждого прямоугольника. Это дает наклоны диагоналейmsrc
а такжеmdest
.Еслиmsrc < mdst
Источник масштабаширина соответствовать целиширина (и высота шкалы в том же соотношении)В противном случае источник масштабавысота соответствовать целивысота (и ширина шкалы в том же соотношении)Ищем другие возможные решения этой проблемы. Я даже не уверен, работает ли мой алгоритм во всех случаях!