Como eu dimensiono um retângulo para o tamanho máximo possível dentro de outro retângulo?

Eu tenho um retângulo de origem e um retângulo de destino. Eu preciso encontrar a escala máxima para o qual a fonte pode ser dimensionada enquanto se encaixa dentro do retângulo de destino emantendo sua relação de aspecto original.

Google encontrou1 maneira de fazê-lo, mas não tenho certeza se funciona em todos os casos. Aqui está a minha solução caseira:

Calcule Altura / Largura para cada retângulo. Isso dá as encostas das diagonaismsrc emdest.E semsrc < mdstfonte de escalalargura para ajustar o destinolargura (e escalar a altura pela mesma proporção)Caso contrário, fonte de escalaaltura para ajustar o destinoaltura (e escala de largura pela mesma proporção)

Procurando outras soluções possíveis para esse problema. Eu nem tenho certeza se meu algoritmo funciona em todos os casos!

questionAnswers(5)

yourAnswerToTheQuestion