phpcms头条图片

来源:互联网 发布:我的校园软件 编辑:程序博客网 时间:2024/06/10 02:52
图片格式的.
使用方法为:
在模板里需要显示的地方插入:
view sourceprint?
1.<imgsrc="{toptitle($r['title'],'28','',880,50)}"alt="{$r['title']}"/>

核心就是将头条文字传递给函数 toptitle() . 该函数代码如下:

view sourceprint?
01./**
02.* toptitle函数说明
03.* 头条文字生成为图片,返回图片路径,使用<img src="" />输出
04.* @title 文字内容;
05.* @fontsize 文字字体;
06.* @w 宽度;h 高度
07.* @字体路径
08.*/
09.functiontoptitle($title,$fontsize,$fontpath,$w= 880,$h = 50) {
10.include_once('dir.func.php');
11.$title= iconv('gbk','utf-8',$title);
12.$fontsize= $fontsize?$fontsize:28;
13.$savepath= 'caches/caches_titleimg/'.$fontsize.'/';//路径名
14.$imgname= md5($title).'.png';//图片名称规则
15.$titlepath= PHPCMS_PATH.$savepath.$imgname;//图片的绝对路径
16.if(file_exists($titlepath))return APP_PATH.$savepath.$imgname;//图片已存在直接返回
17.if(!is_dir($savepath)) dir_create(PHPCMS_PATH.$savepath);//路径不存在则创建路径
18.$fontpath= $fontpath?$fontpath:(PC_PATH.'libs'.DIRECTORY_SEPARATOR.'data'.DIRECTORY_SEPARATOR.'font'.DIRECTORY_SEPARATOR.'yaheicuti.ttf');
19.$im= imagecreate($w,$h);
20.$white= imagecolorallocate($im,255,255,255);
21.imagecolortransparent($im,$white);
22.$black= imagecolorallocate($im,9,84,139);
23.imagettftext($im,$fontsize,0,0,40,$black,$fontpath,$title);//字体路径
24.header("Content-type:image/png");
25.imagepng($im,$titlepath);
26.ImageDestroy($im);
27.returnAPP_PATH.$savepath.$imgname;
28.}

将以上函数代码写到 phpcms\libs\functions\extention.func.php 里面. 然后将字体文件yaheicuti.ttf放到phpcms\libs\data\font\ 里面. 字体较大,请前往 http://tuzwu.javaeye.com/blog/782473 下载.当然你可以换成你自己的字体,可以通过修改函数里的 $fontpath 的定义,或者传入函数的时候指明字体文件路径都可以.

原创粉丝点击