Я пытаюсь обрезать изображение, используя PHP и библиотеку GD, но не могу заставить обрезку работать.Я хотел бы обрезать черные полосы из следующего изображения и изменить его размер до меньшего размера (200 на 112).
Изображение, расположенное здесь
Ниже мойPHP-код.
<?
function load_file_from_url($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$str = curl_exec($curl);
curl_close($curl);
return $str;
}
class cropImage{
var $imgSrc,$myImage,$thumb;
function setImage($image) {
//Your Image
$this->imgSrc = $image;
//create image from the jpeg
$this->myImage = imagecreatefromstring($this->imgSrc) or die("Error: Cannot find image!");
imagecopyresampled($this->thumb, $this->myImage, 0, 0, 0, 45, 200, 112, 480, 270);
}
function renderImage()
{
header('Content-type: image/jpeg');
imagejpeg($this->thumb);
imagedestroy($this->thumb);
//imagejpeg($this->myImage);
//imagedestroy($this->myImage);
}
}
$image = new cropImage;
$image->setImage(load_file_from_url($_GET['src']));
$image->renderImage();
?>
Я получаю следующие ошибки:
PHP Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /var/www/html/root/vic/boilerBytes/thumbnail.php on line 21
[Tue Aug 09 22:57:06 2011] [error] PHP Warning: imagejpeg(): supplied argument is not a valid Image resource in /var/www/html/root/vic/boilerBytes/thumbnail.php on line 26
[Tue Aug 09 22:57:06 2011] [error] PHP Warning: imagedestroy(): supplied argument is not a valid Image resource in /var/www/html/root/vic/boilerBytes/thumbnail.php on line 27
Когда я раскомментирую два метода с параметрами $this->myImage
и прокомментирую два метода с параметрами $this->thumb
,Исходное изображение отображается правильно, поэтому я думаю, что проблема возникает с imagecopyresampled()
.Примечание: у меня нет возможности включить fopen, поэтому я использую curl.Любая помощь будет принята с благодарностью!