Расчет соотношения размеров изображения для изменения размера

У меня есть определенная фиксированная ширина и высота для изменения размера изображения. Однако у меня есть проблема с этим, потому что изображение может иметь любое соотношение размеров (оно может быть по вертикали или по горизонтали ). В этом случае проблема с фиксированной шириной и высотой. Я хочу вычислить ширину и высоту более разумным способом.

Например, допустим, я определил ширину 1024 пикселей и высоту 768 пикселей . И я хочу изменить размер изображения, которое является вертикальным (высота 1100 пикселей и ширина 200 пикселей) . В моем случае он будет изменен до фиксированного размера (1024x768) , поэтому ширина будет увеличена с 100 пикселей до 768 пикселей , и это будет очень некрасиво. Точно так же, если изображение имеет высоту менее 768 пикселей , оно будет увеличивать высоту принудительно до 768 пикселей .

Поэтому я хотел бы рассчитать размер нового изображения на основе исходного изображения соотношение размеров. Допустим, нужно ли изменить размер приведенного выше примера изображения до максимальной высоты 768 пикселей , но как насчет ширины? она уже меньше моей «максимальной ширины», которая составляет 200 пикселей , поэтому должна ли ширина оставаться неизменной? или его следует дополнительно уменьшить?

Аналогично, если изображение имеет высоту 200 пикселей и ширину 1100 пикселей . Таким образом, ширина должна быть уменьшена до 1024 пикселей , но как насчет высоты?

Третья проблема заключается в том, что, допустим, если и высота, и ширина больше максимальной высоты и максимальной ширины, скажем ширина: 1100 пикселей и высота: 4000 пикселей . Теперь, поскольку ширина и высота больше максимальной ширины и максимальной высоты, но изображение вертикальное, оно будет горизонтальным. Итак, как я могу проверить, следует ли в этом случае изменять размер изображения в соответствии с максимальной высотой или максимальной шириной?

Я благодарен за любую помощь в этом.

43
задан Bogdan Vitoc 8 September 2014 в 23:20
поделиться