Ребят, ни как не могу решить одну проблему:
Дали задание - написать скрипт, который при загрузке любого изображения(горизонтального, вертикального, квадратного), делал ресайз этого изображения размером 300 на 204. Вроде все просто, но есть условие, что если размер загружаемого изображения не пропорционален размеру выходного, то нужно его обрезать так, чтоб после ресайза обрезанного изображения можно было получить не искаженную, без потерь качества, картиночку 300 на 204 (грубо говоря, просто уменьшенную копию)
как обычный ресайз делать - это я знаю. Не могу найти как обрезать изображение(горизонтальное, вертикальное, квадратное) так, чтоб потом провести этот ресайз
1. GEN_18 - 23 Октября, 2012 - 22:25:26 - перейти к сообщению
2. Okula - 23 Октября, 2012 - 22:43:15 - перейти к сообщению
GEN_18, для того чтобы изображение не исказилось придётся изменять один из параметров (ширину или высоту). И уже пропорционально расчитывать второе значение.
В школе пропорции научили считать? Так вот тут так же
В школе пропорции научили считать? Так вот тут так же
3. dubasua - 23 Октября, 2012 - 22:59:20 - перейти к сообщению
Сначала пропорционально уменьшаешь картинку до те тех пор пока у тебя высота не станет 204 или ширина 300. А потом и смотришь что тебе нужно обрезать. Как правило обрезают или средину или с левого верхнего угла.
4. DlTA - 24 Октября, 2012 - 00:01:22 - перейти к сообщению
есть у меня вот такая функция немного иной функционла, но можно допилить
описание: есть входное, любого размер, и есть выходной размер, исходное пропорционально масштабируется, максимально подгоняясь под выходной размер,
описание: есть входное, любого размер, и есть выходной размер, исходное пропорционально масштабируется, максимально подгоняясь под выходной размер,
Спойлер (Отобразить)