我正在创建一个将用户的个人资料图片与我的自定义图片合并的应用。用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()
这意味着它没有获得用户的图像所以我该怎么办?如何在我的服务器上下载图片或使用它而不下载。
由于
答案 0 :(得分:1)
使用
时,您需要使用网址来映像$userpic = imagecreatefromjpg("http://graph.facebook.com/".$user_id."/picture?type=normal");
只需重定向到图片网址并输出图片即可。这导致了问题。
您只需要一个指向用户图片的网址。
$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,您可以使用您的功能来操作图像。
答案 1 :(得分:0)
我认为问题在于您的函数名称,它应该是imagecreatefromjpeg而不是imagecreatefromjpg