Пропорциональное изменение размера изображения
У меня возникла небольшая проблема с масштабированием моих изображений до заранее определенного размера. Мне было интересно - поскольку это чисто математика, если есть какой-то общий логический алгоритм, который работает на каждом языке (PHP, ActionScript, Javascript и т. Д.) Для пропорционального масштабирования изображений.
Я использую это в данный момент:
var maxHeight = 300;
var maxWidth = 300;
var ratio:Number = height / width;
if (height > maxHeight) {
height = maxHeight;
width = Math.round(height / ratio);
}
else if(width > maxWidth) {
width = maxWidth;
height = Math.round(width * ratio);
}
Но это не работает должным образом. Изображения масштабируются пропорционально, конечно, но размер не установлен равным 300 (ни по ширине, ни по высоте). Это имеет смысл, но мне было интересно, есть ли надежный и простой способ пропорционального масштабирования изображений.