将Facebook用户档案图片与其他图片合并



我正在创建一个应用程序,将用户的个人资料图片与我的自定义图片合并。使用imagecopymerge很容易做到,但当我在脸书用户的个人资料图片上做这件事时。它不起作用我正在使用这个代码:

    $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()

这意味着它没有得到用户的图像,那么我该怎么办?如何在我的服务器上下载图片或在不下载的情况下使用它。

感谢

在使用时,您需要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,并可以使用您的函数来操作图像。

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

最新更新