我正在创建一个应用程序,将用户的个人资料图片与我的自定义图片合并。使用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