0

我是 php 和编程的新手。我需要有关在另一张图像上显示 facebook 用户图像的帮助。这是我正在处理的脚本。

    if(isset($_POST['id']) && $_POST['id'] == 'Generator')
    {

        $path_fonts = '../page/font/';
        $img = '../page/generate/image-'. $user['id'] .'.jpg';

        if (!file_exists($img))
        {
            shuffle($indian_name);
            $uid = $facebook->getUser();
            $text       = wordwrap($indian_name[0], 31, "\n", true);
            $box_text   = @ImageTTFBBox(TEXT_FONT_SIZE, 0, $path_fonts.TEXT_FONT, $text);
            $x_text     = ceil((800 - $box_text[2]) / 2);
            $image      = imagecreatefromjpeg('../page/images/template.jpg');
            $font_color = ImageColorAllocate($image, 63, 55, 48);
        $url = "http://graph.facebook.com/".$uid."/picture";
        $pimg = '../page/generate/pimage-'. $user['id'] .'.jpg';

       file_put_contents($pimg, file_get_contents($url));

            imagecopymerge($image, $pimg, 10, 10, 100, 100, 700, 500, 0 );
            imagettftext($image, $size = TEXT_FONT_SIZE, 0, $x_text, $y = 315, $font_color, $path_fonts.TEXT_FONT, $user[name]);
            imagejpeg($image, $img, 75);
            imagedestroy($image);

谁能告诉我哪里出错了?我想在 template.jpg 的中心显示 50x50 的 facebook 个人资料图片。template.jpg 文件的大小为 (800x700)。

提前致谢 :)

4

1 回答 1

0

希望这能有所帮助。

试试这个,它对我有用

$headers = get_headers('http://graph.facebook.com/'.$user[id].'/picture?type=normal',1);    
$url = $headers['Location']; // string

$pimg = imagecreatefromjpeg($url);

imagecopymerge($image, $pimg, 10, 10, 100, 100, 700, 500, 0 );

但您可以先尝试使用特定数据,看看它是否有效。 http://graph.facebook.com/your-id-number/picture

于 2012-09-21T11:41:15.307 回答