Алгоритм изменения размера изображения и поддержания соотношения сторон, чтобы соответствовать iPhone
Я создаю веб-сервис для приложения для iPhone, чтобы взаимодействовать с ним.
Когда мой клиент загружает изображения на сервер, я хочу, чтобы мой php-скрипт изменил размер изображения,сохраняя соотношение сторон, чтобы он поместился на экране iPhone. (т. е. самая длинная сторона <= 960, а самая короткая <= 640
Я создал макет в JS просто потому, что мне было проще это сделать быстро.
Я почти уверен, хотя могу ошибаться, что это не самый эффективный способ сделать это. Может ли кто-нибудь исправить меня с помощью лучшей логики (особенно немного в начале) или более математического подхода к этому?
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);
}
}
}