Когда пользователи вводят свои изображения, их изображения любого размера. Я хочу, чтобы иметь возможность изменять размеры всех изображений до определенного размера. Есть ли функция, которая позволяет мне делать это на PHP?
благодаря
Вам нужна функция imagecopyresampled
, которая также интерполирует пиксели, (imagecopyresized does not);
В моем коде я использую его в такой функции:
function resizeAndSavePhoto($original, $destination, $dest_width, $dest_height){ $photo = createImage($original); $size = getimagesize($original); $final_photo = imagecreatetruecolor($dest_width, $dest_height); imagecopyresampled($final_photo, $photo,0,0,0,0,$dest_width, $dest_height, $size[0], $size[1]); imagejpeg($final_photo, $destination, 100); }
$orignal
и $destination
– это пути к именам файлов
В частности, http://php.net/imagecopyresized
Попробуйте ImageMagick, он сохраняет информацию EXIF в изображении, если это необходимо, среди прочего:
хорошо, вы можете что-то сделать:
http://net.tutsplus.com/tutorials/php/image-resizing-made-easy-with-php/
или использовать что-то уже сделанное, я использую это:
http://www.white-hat-web-design.co.uk/articles/php-image-resizing.php, который работает
Вот очень хорошая библиотека, с которой вы можете изменять размеры изображений. У него есть способы изменить их размер, чтобы они все еще были пропорциональны, и у него есть варианты сохранения или отображения изображений. Работает очень гладко