【问题标题】:imagecopyresampled(): supplied argument is not a valid Image resourceimagecopyresampled():提供的参数不是有效的图像资源
【发布时间】:2012-05-05 23:22:09
【问题描述】:

我是 facebook 应用程序开发的新手,并且正在开发我的第一个应用程序。 我正在尝试使用 imagecopyresampled() 函数调整图像大小,但出现此错误:

警告:imagecopyresampled():提供的参数不是…中的有效图像资源

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

【问题讨论】:

  • 嗯,这个错误很明显。 $img 是从哪里来的?
  • 嗯,是的,$imgFile$imgFile1 都不是 gd 资源。也许您应该再次阅读手册以获取示例?
  • @DamienPirsy:我刚刚编辑了我的代码并包含了 $img 的声明部分。希望它会有所帮助。
  • @deceze: 就像我将错误的参数传递给函数一样?根据我从手册中了解到的$imgFile1, $imgFileresource $dst_image , resource $src_image ,

标签: php gd


【解决方案1】:

您误解了参数类型。 resource 是 PHP 类型,如 stringfloat。需要使用适当的相关功能创建资源。在您的情况下,您需要一个原始图像的resource,使用imagecreatefromjpeg 之类的函数创建,另一个类似的resource 将图像复制到,很可能是使用imagecreatetruecolor 创建的空白图像。

引用example from the manual

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

您所拥有的是一个不存在的变量和一个字符串,这不是必需的输入。

【讨论】:

    猜你喜欢
    • 2012-08-27
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多