1

フェイスブックの画像マージ

こんにちは、Facebook アプリを開発したいと考えています。クイズに答えてから、証明書の画像にプロフィール写真をマージします。結果で。

index.php ファイルは次のとおりです。

<?php
include_once "fbmain.php";
//if user is logged in and session is valid.
if ($user){
//fql query example using legacy method call and passing parameter
try{
$fql = "select name, hometown_location, sex, pic_square from user where uid=" . $user;
//http://developers.facebook.com/docs/reference/fql/
$param = array(
'method' => 'fql.query',
'query' => $fql,
'callback' => ''
);
$fqlResult = $facebook->api($param);
}
catch(Exception $o){
d($o);
}
}
//set page to include default is home.php
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : "home.php";
include_once "template.php";
?>

そしてhome.phpは以下の通りです

<?php
echo '<div id="namaz_content">';
echo '</div>';
echo $userInfo['picture'];
//Get the current users id
$uid = $facebook->getUser();
//create the url
$profile_pic = "http://graph.facebook.com/".$uid."/picture?width=80&height=80";
//echo the image out
echo "<img src=\"" . $profile_pic . "\" />";
echo '<img src="image.php?name=My name is Tushar&result=A%2D&taka=1000&subject=math" />';
?>

image.php ファイルは以下のとおりです。

<?php
$text=$_GET['name'];
$result=$_GET['result'];
$subject=$_GET['subject'];
$taka='Tk. '.$_GET['taka'].'/-';
$dest = imagecreatefromjpeg('certificate.jpg');
$src = imagecreatefromjpeg('7e142c8d.jpg');
// Allocate A Color For The Text
$red = imagecolorallocate($dest,255,0,0);
$blue= imagecolorallocate($dest,0,0,255);
// Set Path to Font File
$font_path = 'bdquiz.ttf';
// Set Text to Be Printed On Image
// Print Text On Image
imagettftext($dest, 20, 0, 192, 240, $red, $font_path, $text);
imagettftext($dest,35, 0, 72, 380, $red, 'arial.ttf', $result);
imagettftext($dest,15, 0, 318, 420, $red, 'arial.ttf', $taka);
imagettftext($dest,15, 0, 270, 348, $blue, 'arial.ttf', $subject);
imagecopymerge($dest, $src, 468, 186, 0, 0, 80, 80, 100); //have to play with these numbers for it to work for you, etc.
//header('Content-Type: image/png');
imagejpeg($dest);
imagedestroy($dest);
imagedestroy($src);
?>

これはうまくいっています。しかし、'7e142c8d.jpg' の代わりに image.php のユーザー プロフィール写真を使用したいのですが、解決策は何ですか? 助けてください

4

1 に答える 1

0

コーディングがどれだけ得意なのかよくわからないので、順を追って説明します。

home.php 内

これを一番上に追加します:

session_start();

これを profile_pic の次の行に追加します

$_SESSION['profilepic']=$profile_pic;

image.php で、これを一番上に追加します

session_start();

これを変える

$src = imagecreatefromjpeg('7e142c8d.jpg');

$src = imagecreatefromjpeg('$_SESSION['profilepic']');

または、それを行う方法を理解したくなく、単に機能させたい場合は、これをコピーして貼り付けます。(コピペより学びたいと思います。)

home.php

<?php
session_start();
echo '<div id="namaz_content">';
echo '</div>';
echo $userInfo['picture'];
//Get the current users id
$uid = $facebook->getUser();
//create the url
$profile_pic = "http://graph.facebook.com/".$uid."/picture?width=80&height=80";
$_SESSION['profilepic'] = $profile_pic;
//echo the image out
echo "<img src=\"" . $profile_pic . "\" />";
echo '<img src="image.php?name=My name is Tushar&result=A%2D&taka=1000&subject=math" />';
?>

Image.php

<?php
session_start();
$text=$_GET['name'];
$result=$_GET['result'];
$subject=$_GET['subject'];
$taka='Tk. '.$_GET['taka'].'/-';
$dest = imagecreatefromjpeg('certificate.jpg');
$src = imagecreatefromjpeg('$_SESSION['profilepic']');
// Allocate A Color For The Text
$red = imagecolorallocate($dest,255,0,0);
$blue= imagecolorallocate($dest,0,0,255);
// Set Path to Font File
$font_path = 'bdquiz.ttf';
// Set Text to Be Printed On Image
// Print Text On Image
imagettftext($dest, 20, 0, 192, 240, $red, $font_path, $text);
imagettftext($dest,35, 0, 72, 380, $red, 'arial.ttf', $result);
imagettftext($dest,15, 0, 318, 420, $red, 'arial.ttf', $taka);
imagettftext($dest,15, 0, 270, 348, $blue, 'arial.ttf', $subject);
imagecopymerge($dest, $src, 468, 186, 0, 0, 80, 80, 100); //have to play with these numbers for it to work for you, etc.
//header('Content-Type: image/png');
imagejpeg($dest);
imagedestroy($dest);
imagedestroy($src);
?>
于 2012-11-25T17:44:46.083 に答える