imagecopyresampled (): предоставленный аргумент не является допустимым ресурсом Image - PullRequest
1 голос
/ 02 марта 2012

Я новичок в разработке приложений для Facebook и работаю над своим первым приложением. Я пытаюсь изменить размер изображения с помощью функции imagecopyresampled (), но получаю для этого ошибку:

Предупреждение: imagecopyresampled (): предоставленный аргумент не является допустимым ресурсом Image в…

$url = "http://graph.facebook.com/{$userId}/picture?type=large";
$img = "udp.gif";
file_put_contents($img, file_get_contents($url));
if (exif_imagetype($img) != IMAGETYPE_GIF) {
    $imgFile = 'temp/' . $userId . '_fdp_' . rand() . '.gif';
    if (exif_imagetype($img) == IMAGETYPE_JPEG)
        $imageObject = imagecreatefromjpeg($img);
        if (exif_imagetype($img) == IMAGETYPE_PNG)
            $imageObject = imagecreatefrompng($img);
            $imagegif($imageObject, $imgFile);
            $imgFile1='temp/' . $userId . '_fdp_.gif';
            $imagecopyresampled($imgFile1, $imgFile, 0, 0, 0, 0, 200, 280, 180, 252);
            $img = $imgFile1;
         }
    }
}

1 Ответ

4 голосов
/ 02 марта 2012

Вы неправильно понимаете типы аргументов.resource - это тип PHP, например string или float.Ресурсы должны быть созданы с соответствующей соответствующей функцией.В вашем случае вам понадобится одно resource исходного изображения, созданное с помощью функции, подобной imagecreatefromjpeg, и другое подобное resource, чтобы скопировать изображение, скорее всего, пустое изображение, созданное с помощью imagecreatetruecolor.

Цитировать пример из руководства :

$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

Вместо этого у вас есть несуществующая переменная и строка, которая не является обязательным вводом.

...