Задача возникает при создании превьюшек(небольших иконок) из имеющихся больших изображений. В данном случае необходимо сделать уменьшенный пропорциональный вариант нашей картинки, высота и ширина которого не будет превышать заданных значений.
На входе:
На выходе нужно чтобы по пути в п.2 - мы получили бы искомую превьюшку, размеры которой не превышают указанных.
Все пункты кроме 2-го - не представляют большого интереса, т.к. реализуются специфическими фукнциями того или иного языка и легко находятся в документации.
П.2 - может быть реализован по-разному. Нужно найти такой коэфициэнт, который даст новые высоту и ширину, не превышающие указанные.
Для этого нужно рассчитывать пропорцию от большего значения из 2-х(высота и ширина исходной картинки):
// Рассчитываем коэфициент // imgWidth, imgHeight - исходные размеры if imgWidth > imgHeight ratio = maxWidth / imgWidth else ratio = maxHeight / imgHeight newWidth = ratio * imgWidth newHeight = ratio * imgHeight