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

我认为问题在于您的函数名称,它应该是 imagecreatefromjpeg 而不是 imagecreatefromjpg

于 2012-09-10T16:24:19.973 回答