Algorithme pour redimensionner l'image et maintenir les proportions pour s'adapter à l'iPhone

Je suis de la création d'un service web pour une application iPhone pour interagir avec.

Quand mon client télécharge les images côté serveur, je veux que mon script php pour redimensionner l'image, tout en maintenant le ratio d'aspectde sorte qu'il s'adapte sur l'écran de l'iPhone. (c'est à dire le côté le plus long est <= 960 et la plus courte <= 640

J'ai créé une maquette en JS, tout simplement parce que je trouve ça plus facile de le faire rapidement.

Je suis sûr que, si je l'ai peut-être tort, que ce n'est pas le moyen le plus efficace de le faire. Quelqu'un pourrait-il me corriger avec le meilleur de la logique (surtout le peu au début), ou d'une manière mathématique de cette approche?

var w = 960, h = 960, new_w, new_h;
if (w >= h && w > 960 || h >= w && h > 960 || w >= h && h > 640 || h >= w && w > 640) {
    if (w > h) {
        if (w>960) {
            new_w = 960;
            new_h = h*(new_w/w);
        }
        if (h>640) {
            new_h = 640;
            new_w = w*(new_h/h);
        }
    }
    else {
        if (h>960) {
            new_h = 960;
            new_w = w*(new_h/h);
        }
        if (w>640) {
            new_w = 640;
            new_h = h*(new_w/w);
        }
    }
}

source d'informationauteur Alex Coplan