2012-03-02 13 views
0

私はFacebookのアプリ開発の初心者です。 私はimagecopyresampled()関数を使用して画像のサイズを変更しようとしているが、それのために、このエラーを取得しています:imagecopyresampled():指定された引数が有効なImageリソースではありません

警告: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; 
     } 
    } 
} 
+1

まあ、errrorはかなり自明です。 $ imgはどこから来たのですか? –

+0

さて、 '$ imgFile'と' $ imgFile1'(どこから来たのでしょうか?)はgdリソースではありません。例についてもう一度マニュアルを読むべきでしょうか? – deceze

+0

@DamienPirsy:私は自分のコードを編集し、$ imgの宣言部分を含んでいます。それが助けてくれることを願います – Maven

答えて

4
有効な画像リソースではありません

あなたは引数の型を誤解しています。 resourceは、stringまたはfloatのようなPHPタイプです。リソースは、適切な関連機能を使用して作成する必要があります。あなたのケースでは、元画像の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); 

あなたの代わりに持っている何が存在しない変数および必須入力されていない文字列です。

関連する問題