2 Stimmen

Facebook-Benutzerprofilbild mit einem anderen Bild zusammenführen

Ich erstelle eine App, die das Profilbild des Benutzers mit meinem benutzerdefinierten Bild zusammenführt. Es ist einfach, es mit imagecopymerge zu tun, aber wenn ich es für das Profilbild des Facebook-Benutzers tue, funktioniert es nicht, ich verwende diesen Code:

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

Es wird ein Fehler angezeigt

Fataler Fehler: Aufruf einer undefinierten Funktion imagecreatefromjpg() in /home/a7193625/public_html/fb/index.php in Zeile 6

Das heißt, es ist nicht immer der Benutzer das Bild, was soll ich tun? wie man das Bild auf meinem Server herunterladen oder verwenden Sie es ohne Download.

Danke

1voto

Abhishek Punkte 828

Sie benötigen die URL zum Bild, während Sie

$userpic = imagecreatefromjpg("http://graph.facebook.com/".$user_id."/picture?type=normal");

Leiten Sie einfach zur Bildurl um und geben Sie das Bild aus. Dies ist ein Problem.

Sie benötigen lediglich eine URL zum Benutzerbild.

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

Auf diese Weise erhalten Sie die Bild-URL, und Sie können Ihre Funktionen zur Bearbeitung des Bildes verwenden.

0voto

Amir Naor Punkte 2226

Ich denke, das Problem ist mit Ihrem Funktionsnamen, es sollte imagecreatefromjpeg statt imagecreatefromjpg sein

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X