我正在创建一个应用程序,合并用户的个人资料图片与我的自定义图片。用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()
这意味着它没有得到用户的图像,所以我应该怎么做?如何在我的服务器上下载图片或在不下载的情况下使用。
谢谢
发布于 2012-09-11 02:05:25
在使用时,您需要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-11 00:24:20
我想问题出在你的函数名上,应该是imagecreatefromjpeg而不是imagecreatefromjpg
https://stackoverflow.com/questions/12355643
复制相似问题