我想自己改个小测试,因为我改了2个只是简单的改改,就知道文字的大小和位置,但是我找不到文字的颜色设置,和上下左右的边距,字多了就超出这个图了
<?php
error_reporting(E_ALL);
error_reporting(E_ALL || ~E_NOTICE);
define("Tencent_APP_ROOT",str_replace('\\', '/',dirname( __FILE__)));
define("Tencent_APP_INC",Tencent_APP_ROOT."/config");
define("Tencent_APP_FONT",Tencent_APP_ROOT."/fonts");
define("Tencent_APP_IMG",Tencent_APP_ROOT."/images");set_include_path(Tencent_APP_ROOT . '/lib/');
require_once 'OpenSDK/Tencent/Weibo.php';include_once Tencent_APP_INC.'/appkey.php';
include_once Tencent_APP_INC.'/config.inc.php';OpenSDK_Tencent_Weibo::init($appkey, $appsecret);session_start();
$action = $_GET['action'];
if($action=="exit")
{
unset($_SESSION[OpenSDK_Tencent_Weibo::OAUTH_TOKEN]);
unset($_SESSION[OpenSDK_Tencent_Weibo::ACCESS_TOKEN]);
unset($_SESSION[OpenSDK_Tencent_Weibo::OAUTH_TOKEN_SECRET]);
unset($_SESSION[OpenSDK_Tencent_Weibo::OPENID]);
unset($_SESSION[OpenSDK_Tencent_Weibo::OPENKEY]);
header('Location: ' .'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}
/*计算身价并发送到微博*/
else if($action=="send"){
$nick=$_POST['t_nick'];
$name=$_POST['t_name'];
$is_follow = $_POST['follow'];
$advice =$advices[rand(0, count($advices)-1)];
if($_SESSION['nick']==$nick){
$nick_other="我";
$social_status = abs(intval($_SESSION['social_status']))* rand(1, 3);
}else{
$nick_other=$nick;
$api_name = 'user/other_info ';
$call_result = OpenSDK_Tencent_Weibo::call($api_name,array("format"=>"json","name"=>$name),'get',false,false);
$social_status = abs(intval(intval($call_result['data']['fansnum'])*10-intval($call_result['data']['idolnum'])*4+intval($call_result['data']['tweetnum'])*8))* rand(1, 3);
}
$social_status .="位";
$imgurl =mk_SocialStatusPic($nick,$social_status,$advice);
if($is_follow){
$api_name = 'friends/add';
$call_result = OpenSDK_Tencent_Weibo::call($api_name, array("format"=>"json","name"=>$official_weibo),'post',false,false);
}
$api_name = 't/add_pic';
$call_result = OpenSDK_Tencent_Weibo::call($api_name, array(
'content' =>" #母亲节#/爱心 /爱心 /爱心 @{$name}你是{$social_status}给妈妈送祝福的人,{$advice},发布祝福: http://{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}",
'clientip' => GetIP(),
), 'POST', array(
'pic' => array(
'type' => 'image/jpg',
'name' => "{$nick}社交身价计算.jpg",
'data' => file_get_contents($imgurl),
)),false);
include "templates/result.html";
}
/*返回朋友列表*/
else if($action=="list"){
$startindex=!empty ($_REQUEST['page'])?intval($_REQUEST['page']):0;
$api_name = 'friends/idollist';
$call_result = OpenSDK_Tencent_Weibo::call($api_name,array("format"=>"json","reqnum"=>30,"startindex"=>$startindex),'get',false,false);
$fanslist = $call_result['data']['info']; if(count($fanslist)==0) {
echo "木有内容了不要再下一批了,刷新一下我就好喽!";
die();
}
foreach ($fanslist as $key => $value) {
if(empty ($value['head'])) $value['head']="/file/imgs/default_head.jpg";
else $value['head'] .="/50";
$fans_html .= "<li onclick=\"on_submit('{$value['name']}','{$value['nick']}');\" onmouseout=\"this.className='';\" onmouseover=\"this.className='on';\" >
<img title=\"查看Ta的,并发送微博\" src=\"{$value['head']}\">
<div><a title=\"查看Ta的,并发送微博\" href=\"javascript:void(0);\">{$value['nick']}</a></div>
</li>";
}
echo $fans_html;
}
else if($action=="go_oauth"){
$mini=true;
$callback = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
$request_token = OpenSDK_Tencent_Weibo::getRequestToken($callback);
$url = OpenSDK_Tencent_Weibo::getAuthorizeURL($request_token);
header('Location: ' . $url);
}
/*显示微博应用页面信息*/
else if(isset($_SESSION[OpenSDK_Tencent_Weibo::OPENID]) &&
isset($_SESSION[OpenSDK_Tencent_Weibo::OPENKEY]) &&
isset($_SESSION[OpenSDK_Tencent_Weibo::ACCESS_TOKEN]) &&
isset($_SESSION[OpenSDK_Tencent_Weibo::OAUTH_TOKEN_SECRET])){
//已经取得全部授权数据
$api_name = 'user/info';
$call_result = OpenSDK_Tencent_Weibo::call($api_name,array(),'get',false,false); $nick=$call_result['data']['nick'];
$name=$call_result['data']['name'];
$head=!empty($call_result['data']['head'])?$call_result['data']['head']."/100":"images/head_100.jpg";
$_SESSION['nick']=$nick;
$_SESSION['social_status']=intval($call_result['data']['fansnum'])*10-intval($call_result['data']['idolnum'])*4+intval($call_result['data']['tweetnum'])*8; include "templates/show.html";
}
else if( isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])) //第5,6步
{
//从Callback返回时
if(OpenSDK_Tencent_Weibo::getAccessToken($_GET['oauth_verifier']))
{
$callback = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
header('Location: ' . $callback);
}
else
{
var_dump($_SESSION);
echo '获得Access Tokn 失败';
}
}else{
include "templates/index.html";
}function mk_SocialStatusPic($nick,$social_status,$advice){
include Tencent_APP_INC."/config.inc.php";
$template_image = Tencent_APP_IMG.'/'.$template_image;
$img = LoadJpeg($template_image);
if(!empty($img))
{
$nick_textcolor = imagecolorallocate($img, 113, 149, 13);
$scoial_status_textcolor = imagecolorallocate($img,255, 51, 119);
$advice_status_textcolor = imagecolorallocate($img, 182, 124, 27);
$font = Tencent_APP_FONT.'/fzybksjw.ttf';
$font2 = Tencent_APP_FONT.'/STXINGKA.ttf';
$year = date('Y');$month = date('m'); $day = date('d'); $imgname = time().rand(1000,9999).'.jpg';
RecursiveMkdir( Tencent_APP_IMG ."/{$year}/{$month}/{$day}" );
$imgurl = Tencent_APP_IMG ."/{$year}/{$month}/{$day}/{$imgname}"; imagettftext($img, 15, 0, 108, 130, $nick_textcolor, $font, $nick);
imagettftext($img, 48, 0, 108, 200, $scoial_status_textcolor, $font2, $social_status); $strs = utf8_str($advice);
$x = 75;$y=260;
foreach ($strs as $key => $value) {
if($key>0 && $key%10==0){$y +=25;$x=100;}
else $x +=25;
imagettftext($img, 18, 0, $x,$y, $advice_status_textcolor, $font, $value);
}
imagejpeg($img,$imgurl);
imagedestroy($img); }
return $imgurl;
}
function LoadJpeg($imgname){
/* Attempt to open */
$im = @imagecreatefromjpeg($imgname); /* See if it failed */
if(!$im)
{
/* Create a black image */
$im = imagecreatetruecolor(150, 30);
$bgc = imagecolorallocate($im, 255, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 150, 30, $bgc); /* Output an error message */
imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
}
return $im;
}
function RecursiveMkdir($path) {
if (!file_exists($path)) {
RecursiveMkdir(dirname($path));
@mkdir($path, 0777);
}
}
function GetIP(){
static $realip = NULL;
if ($realip !== NULL)
{
return $realip;
}
if (isset($_SERVER))
{
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
/* 取X-Forwarded-For中第x个非unknown的有效IP字符? */
foreach ($arr as $ip)
{
$ip = trim($ip);
if ($ip != 'unknown')
{
$realip = $ip;
break;
}
}
}
elseif (isset($_SERVER['HTTP_CLIENT_IP']))
{
$realip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
if (isset($_SERVER['REMOTE_ADDR']))
{
$realip = $_SERVER['REMOTE_ADDR'];
}
else
{
$realip = '0.0.0.0';
}
}
}
else
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$realip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_CLIENT_IP'))
{
$realip = getenv('HTTP_CLIENT_IP');
}
else
{
$realip = getenv('REMOTE_ADDR');
}
}
preg_match("/[\d\.]{7,15}/", $realip, $onlineip);
$realip = ! empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';
return $realip;
}function utf8_str($string = null) {
preg_match_all("/./us", $string, $match);
return $match[0];
}
?>微博测试网站 http://www.xinbingbaodao.com/ceshi/mqj/
<?php
error_reporting(E_ALL);
error_reporting(E_ALL || ~E_NOTICE);
define("Tencent_APP_ROOT",str_replace('\\', '/',dirname( __FILE__)));
define("Tencent_APP_INC",Tencent_APP_ROOT."/config");
define("Tencent_APP_FONT",Tencent_APP_ROOT."/fonts");
define("Tencent_APP_IMG",Tencent_APP_ROOT."/images");set_include_path(Tencent_APP_ROOT . '/lib/');
require_once 'OpenSDK/Tencent/Weibo.php';include_once Tencent_APP_INC.'/appkey.php';
include_once Tencent_APP_INC.'/config.inc.php';OpenSDK_Tencent_Weibo::init($appkey, $appsecret);session_start();
$action = $_GET['action'];
if($action=="exit")
{
unset($_SESSION[OpenSDK_Tencent_Weibo::OAUTH_TOKEN]);
unset($_SESSION[OpenSDK_Tencent_Weibo::ACCESS_TOKEN]);
unset($_SESSION[OpenSDK_Tencent_Weibo::OAUTH_TOKEN_SECRET]);
unset($_SESSION[OpenSDK_Tencent_Weibo::OPENID]);
unset($_SESSION[OpenSDK_Tencent_Weibo::OPENKEY]);
header('Location: ' .'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}
/*计算身价并发送到微博*/
else if($action=="send"){
$nick=$_POST['t_nick'];
$name=$_POST['t_name'];
$is_follow = $_POST['follow'];
$advice =$advices[rand(0, count($advices)-1)];
if($_SESSION['nick']==$nick){
$nick_other="我";
$social_status = abs(intval($_SESSION['social_status']))* rand(1, 3);
}else{
$nick_other=$nick;
$api_name = 'user/other_info ';
$call_result = OpenSDK_Tencent_Weibo::call($api_name,array("format"=>"json","name"=>$name),'get',false,false);
$social_status = abs(intval(intval($call_result['data']['fansnum'])*10-intval($call_result['data']['idolnum'])*4+intval($call_result['data']['tweetnum'])*8))* rand(1, 3);
}
$social_status .="位";
$imgurl =mk_SocialStatusPic($nick,$social_status,$advice);
if($is_follow){
$api_name = 'friends/add';
$call_result = OpenSDK_Tencent_Weibo::call($api_name, array("format"=>"json","name"=>$official_weibo),'post',false,false);
}
$api_name = 't/add_pic';
$call_result = OpenSDK_Tencent_Weibo::call($api_name, array(
'content' =>" #母亲节#/爱心 /爱心 /爱心 @{$name}你是{$social_status}给妈妈送祝福的人,{$advice},发布祝福: http://{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}",
'clientip' => GetIP(),
), 'POST', array(
'pic' => array(
'type' => 'image/jpg',
'name' => "{$nick}社交身价计算.jpg",
'data' => file_get_contents($imgurl),
)),false);
include "templates/result.html";
}
/*返回朋友列表*/
else if($action=="list"){
$startindex=!empty ($_REQUEST['page'])?intval($_REQUEST['page']):0;
$api_name = 'friends/idollist';
$call_result = OpenSDK_Tencent_Weibo::call($api_name,array("format"=>"json","reqnum"=>30,"startindex"=>$startindex),'get',false,false);
$fanslist = $call_result['data']['info']; if(count($fanslist)==0) {
echo "木有内容了不要再下一批了,刷新一下我就好喽!";
die();
}
foreach ($fanslist as $key => $value) {
if(empty ($value['head'])) $value['head']="/file/imgs/default_head.jpg";
else $value['head'] .="/50";
$fans_html .= "<li onclick=\"on_submit('{$value['name']}','{$value['nick']}');\" onmouseout=\"this.className='';\" onmouseover=\"this.className='on';\" >
<img title=\"查看Ta的,并发送微博\" src=\"{$value['head']}\">
<div><a title=\"查看Ta的,并发送微博\" href=\"javascript:void(0);\">{$value['nick']}</a></div>
</li>";
}
echo $fans_html;
}
else if($action=="go_oauth"){
$mini=true;
$callback = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
$request_token = OpenSDK_Tencent_Weibo::getRequestToken($callback);
$url = OpenSDK_Tencent_Weibo::getAuthorizeURL($request_token);
header('Location: ' . $url);
}
/*显示微博应用页面信息*/
else if(isset($_SESSION[OpenSDK_Tencent_Weibo::OPENID]) &&
isset($_SESSION[OpenSDK_Tencent_Weibo::OPENKEY]) &&
isset($_SESSION[OpenSDK_Tencent_Weibo::ACCESS_TOKEN]) &&
isset($_SESSION[OpenSDK_Tencent_Weibo::OAUTH_TOKEN_SECRET])){
//已经取得全部授权数据
$api_name = 'user/info';
$call_result = OpenSDK_Tencent_Weibo::call($api_name,array(),'get',false,false); $nick=$call_result['data']['nick'];
$name=$call_result['data']['name'];
$head=!empty($call_result['data']['head'])?$call_result['data']['head']."/100":"images/head_100.jpg";
$_SESSION['nick']=$nick;
$_SESSION['social_status']=intval($call_result['data']['fansnum'])*10-intval($call_result['data']['idolnum'])*4+intval($call_result['data']['tweetnum'])*8; include "templates/show.html";
}
else if( isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])) //第5,6步
{
//从Callback返回时
if(OpenSDK_Tencent_Weibo::getAccessToken($_GET['oauth_verifier']))
{
$callback = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
header('Location: ' . $callback);
}
else
{
var_dump($_SESSION);
echo '获得Access Tokn 失败';
}
}else{
include "templates/index.html";
}function mk_SocialStatusPic($nick,$social_status,$advice){
include Tencent_APP_INC."/config.inc.php";
$template_image = Tencent_APP_IMG.'/'.$template_image;
$img = LoadJpeg($template_image);
if(!empty($img))
{
$nick_textcolor = imagecolorallocate($img, 113, 149, 13);
$scoial_status_textcolor = imagecolorallocate($img,255, 51, 119);
$advice_status_textcolor = imagecolorallocate($img, 182, 124, 27);
$font = Tencent_APP_FONT.'/fzybksjw.ttf';
$font2 = Tencent_APP_FONT.'/STXINGKA.ttf';
$year = date('Y');$month = date('m'); $day = date('d'); $imgname = time().rand(1000,9999).'.jpg';
RecursiveMkdir( Tencent_APP_IMG ."/{$year}/{$month}/{$day}" );
$imgurl = Tencent_APP_IMG ."/{$year}/{$month}/{$day}/{$imgname}"; imagettftext($img, 15, 0, 108, 130, $nick_textcolor, $font, $nick);
imagettftext($img, 48, 0, 108, 200, $scoial_status_textcolor, $font2, $social_status); $strs = utf8_str($advice);
$x = 75;$y=260;
foreach ($strs as $key => $value) {
if($key>0 && $key%10==0){$y +=25;$x=100;}
else $x +=25;
imagettftext($img, 18, 0, $x,$y, $advice_status_textcolor, $font, $value);
}
imagejpeg($img,$imgurl);
imagedestroy($img); }
return $imgurl;
}
function LoadJpeg($imgname){
/* Attempt to open */
$im = @imagecreatefromjpeg($imgname); /* See if it failed */
if(!$im)
{
/* Create a black image */
$im = imagecreatetruecolor(150, 30);
$bgc = imagecolorallocate($im, 255, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 150, 30, $bgc); /* Output an error message */
imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
}
return $im;
}
function RecursiveMkdir($path) {
if (!file_exists($path)) {
RecursiveMkdir(dirname($path));
@mkdir($path, 0777);
}
}
function GetIP(){
static $realip = NULL;
if ($realip !== NULL)
{
return $realip;
}
if (isset($_SERVER))
{
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
/* 取X-Forwarded-For中第x个非unknown的有效IP字符? */
foreach ($arr as $ip)
{
$ip = trim($ip);
if ($ip != 'unknown')
{
$realip = $ip;
break;
}
}
}
elseif (isset($_SERVER['HTTP_CLIENT_IP']))
{
$realip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
if (isset($_SERVER['REMOTE_ADDR']))
{
$realip = $_SERVER['REMOTE_ADDR'];
}
else
{
$realip = '0.0.0.0';
}
}
}
else
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$realip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_CLIENT_IP'))
{
$realip = getenv('HTTP_CLIENT_IP');
}
else
{
$realip = getenv('REMOTE_ADDR');
}
}
preg_match("/[\d\.]{7,15}/", $realip, $onlineip);
$realip = ! empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';
return $realip;
}function utf8_str($string = null) {
preg_match_all("/./us", $string, $match);
return $match[0];
}
?>微博测试网站 http://www.xinbingbaodao.com/ceshi/mqj/
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货