Загрузить изображение из удаленного источника и изменить размер, затем сохранить
Кто-нибудь из вас знает о хорошем классе php, который я могу использовать для загрузки изображения из удаленного источника, измените его размер до 120x120 и сохраните его с именем файла по своему выбору?
Итак, в основном у меня был бы образ на http://www.site.com/image.jpg "сохранить на моем веб-сервере" /images/myChosenName.jpg "как 120x120 пикселей.
Спасибо
Ответы
Ответ 1
Вы можете попробовать следующее:
<?php
$img = file_get_contents('http://www.site.com/image.jpg');
$im = imagecreatefromstring($img);
$width = imagesx($im);
$height = imagesy($im);
$newwidth = '120';
$newheight = '120';
$thumb = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($thumb, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($thumb,'/images/myChosenName.jpg'); //save image as jpg
imagedestroy($thumb);
imagedestroy($im);
?>
Дополнительная информация о функции изображения PHP: http://www.php.net/manual/en/ref.image.php
Ответ 2
Вы можете изменить размер, сохраняя соотношение изображения
$im = imagecreatefromstring($img);
$width_orig = imagesx($im);
$height_orig = imagesy($im);
$width = '800';
$height = '800';
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}