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