Digamos que você tenha uma imagem na proporção 1280×850 px, vamos chamar essa imagem de original, e deseja fazer o redimensionamento proporcional para uma imagem nas medidas aproximadas de 408×544 px, que será chamada de final.
Exemplificando:
- Imagem original: 1280×850
- Imagem final (aproximada): 408×544
Algoritmo:
1 2 3 4 5 6 7 8 9 10 11 12 13 | inicio escala_largura = largura_original / largura_final escala_altura = altura_original / altura_final se escala_largura < escala_altura escala = escala_largura senao escala = escala_altura fim se largura_proporcional = largura_original / escala altura_proporcional = altura_original / escala fim |
Teste:
1 2 3 4 5 6 7 8 9 10 11 12 13 | inicio escala_largura = 1280 / 408 #3,137254902 escala_altura = 850 / 544 #1,5625 se escala_largura < escala_altura escala = escala_largura senao escala = escala_altura fim se largura_proporcional = 1280 / 1,5625 #819,2 altura_proporcional = 850 / 1,5625 #544 fim |
Esse teste gerá uma imagem proporcional de medidas 819,2×544 px.
Esse algoritmo leva em consideração que a imagem original sempre vai ser maior.

