загрузить изображение из удаленного источника и изменить его размер, затем сохранить - PullRequest
11 голосов
/ 26 января 2012

Кто-нибудь из вас знает хороший класс php, который я могу использовать, чтобы загрузить изображение из удаленного источника, изменить его размер до 120x120 и сохранить его с выбранным именем файла?

Так что в основномУ меня будет изображение «http://www.site.com/image.jpg" сохранить на моем веб-сервере» /images/myChosenName.jpg »размером 120x120 пикселей.

Спасибо

Ответы [ 2 ]

17 голосов
/ 26 января 2012

Вы можете попробовать это:

<?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

0 голосов
/ 20 июня 2019

Вы можете изменить размер, сохраняя соотношение изображения

$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;
}
...