先看效果:
在DZ论坛签名里用[img]http://www.pfeng.org/pic.php[/img]即可显示。代码如下:
<?php
require_once('config.php');//包含有数据库连接参数$servername,$dbusername,$dbpassword
//截取字符串用的函数(UTF-8)
function mysubstr($str, $start, $len) {
$tmpstr = "";
$strlen = $start + $len;
for($i = 0; $i < $strlen; $i++) {
if(ord(substr($str, $i, 1)) > 0xa0) {
$tmpstr .= substr($str, $i, 2);
$i++;
} else
$tmpstr .= substr($str, $i, 1);
}
return $tmpstr;
}
//链接数据库
$id=mysql_connect($servername,$dbusername,$dbpassword) or die('不能连接数据库');
mysql_select_db($dbname,$id) or die('不能连接数据表');
mysql_query("SET NAMES 'gb2312'");
//读取前3条文章
$sql=mysql_query("SELECT articleid,dateline,title from {$db_prefix}articles order by dateline desc limit 3");
$i=0;
while($info[$i]=mysql_fetch_array($sql)){
$tim[$i]=date("m-d",$info[$i]['dateline']);
$tit[$i] = mysubstr($info[$i]['title'],0,36);
$text[$i]='['.$tim[$i].'] '.$tit[$i].'...';
$i++;
}
//根据情况转码
$text1 = iconv("gb2312","utf-8",$text[0]);
$text2 = iconv("gb2312","utf-8",$text[1]);
$text3 = iconv("gb2312","utf-8",$text[2]);
$font = "msyh.ttf";//字体,要放在同目录,我用的微软雅黑
$size = 8.5; //字体大小
header("content-type:image/gif");
$nimage=imagecreatetruecolor(278,110);// 新建一个图片,尺寸要和背景图片一样
$black=imagecolorallocate($nimage,115,115,115); // 取得文字颜色, RGB
$simage =imagecreatefromgif('bg.gif'); // 读取之前设计的背景图片(自己建立吧 )
imagecopy($nimage,$simage,0,0,0,0,278,110); // 把背景图片 copy 到我们要输出的图片上
imagettftext($nimage,$size,0,8,50,$black,$font,$text1);
imagettftext($nimage,$size,0,8,70,$black,$font,$text2);
imagettftext($nimage,$size,0,8,90,$black,$font,$text3);
imagegif($nimage); // 输出 GIF 图片内容
imagedestroy($nimage);
imagedestroy($simage); // 关闭之前使用的图片缓冲
?>
是不是很简单,雕虫小技了,发出来供新手娱乐。


