2

ユーザーのプロフィール写真をカスタム写真とマージするアプリを作成しています。imagecopymerge を使用すると簡単に実行できますが、Facebook ユーザーのプロフィール写真で実行する場合はどうすればよいでしょうか。私はこのコードを使用しています:

    $uid = $facebook->getUser();
$userpic = imagecreatefromjpg("http://graph.facebook.com/".$user_id."/picture?type=normal");
$mainphoto = imagecreatefromjpeg("img/back.jpg");
imagecopymerge($mainphoto, $userpic, 10, 10, -2, -2, 55, 55, 100);
imagejpeg($mainphoto, "new.jpg", 100);
imagedestroy($mainphoto);

エラーが表示される

致命的なエラー: 6 行目の /home/a7193625/public_html/fb/index.php の未定義関数 imagecreatefromjpg() の呼び出し

つまり、ユーザーの画像を取得していないので、どうすればよいですか? 私のサーバーで写真をダウンロードする方法、またはダウンロードせずに使用する方法。

ありがとう

4

2 に答える 2

1

使用中に画像へのURLが必要です

$userpic = imagecreatefromjpg("http://graph.facebook.com/".$user_id."/picture?type=normal");

画像のURLにリダイレクトして画像を出力するだけです。これが問題を引き起こしています。

ユーザー画像への URL が必要なだけです。

$user_id = $facebook->getUser(); 
$result = file_get_contents("https://graph.facebook.com/{$user_id}?fields=picture.type(normal)");
$result = json_decode($result);
$userpic = imagecreatefromjpeg($result->picture);

この方法を使用すると、画像の URL を取得し、関数を使用して画像を操作できます。

于 2012-09-10T18:05:24.937 に答える
0

問題は関数名にあると思います。imagecreatefromjpgではなくimagecreatefromjpegにする必要があります

于 2012-09-10T16:24:19.973 に答える