帝国CMS任意字段转换为图片插件,支持中文英文数字生成,文章标题,电话号码、QQ号码均可,
使用方法:
一、将以下代码存为index.php
<?php mb_internal_encoding("UTF-8");//设置编码 header ('Content-type:image/png'); require('../../class/connect.php');//引入数据库配置文件和公共函数文件 require('../../class/db_sql.php');//引入数据库操作文件 $link=db_connect();//连接MYSQL $empire=new mysqlquery();//声明数据库操作类 $editor=1;//声明目录层次 $classid=(int)$_GET['classid']; $id=(int)$_GET['id']; $area=addslashes($_GET['area']); $r1=$empire->fetch1("select tbname from {$dbtbpre}enewsclass where classid=$classid"); $tbname=$r1['tbname']; $r=$empire->fetch1("select $area from {$dbtbpre}ecms_$tbname where classid=$classid and id=$id"); /*16进制颜色转换为RGB色值*/ function hex2rgb($hexColor){ $color=str_replace('#','',$hexColor); if(strlen($color)>3){ $rgb = array('r'=>hexdec(substr($color,0,2)),'g'=>hexdec(substr($color,2,2)),'b'=>hexdec(substr($color,4,2))); }else{ $color=str_replace('#','',$hexColor); $r=substr($color,0,1).substr($color,0,1); $g=substr($color,1,1).substr($color,1,1); $b=substr($color,2,1).substr($color,2,1); $rgb=array('r'=>hexdec($r),'g'=>hexdec($g),'b'=>hexdec($b)); } return $rgb; } /*各种参数*/ $width=(int)$_GET['w']?(int)$_GET['w']:300; $hegih=(int)$_GET['h']?(int)$_GET['h']:50; $ff=$_GET['ff']?$_GET['ff']:'msyh'; $fontface='font/'.$ff.'.ttf'; $fontsize=$_GET['fz']?$_GET['fz']:12; $bcolor=$_GET['bc']?$_GET['bc']:'fff'; $tcolor=$_GET['tc']?$_GET['tc']:'000'; $b=hex2rgb($bcolor);//背景色 $t=hex2rgb($tcolor);//文字色 /*中英文换行等处理*/ function str_to_image($fontsize,$angle,$fontface,$string,$width){//这几个变量分别是 字体大小, 角度, 字体名称, 字符串, 预设宽度 $content="";//将字符串拆分成一个个单字 保存到数组 letter 中 for($i=0;$i<mb_strlen($string);$i++){ $letter[]=mb_substr($string,$i,1); } foreach($letter as $l){ $teststr=$content." ".$l; $testbox=imagettfbbox($fontsize,$angle,$fontface,$teststr); //判断拼接后的字符串是否超过预设的宽度 if (($testbox[2]>$width)&&($content!=="")){ $content.="\n"; } $content.=$l; } return $content; } $bg=imagecreate($width,$hegih);//创建白色画布 $background_color=imagecolorallocate($bg,$b['r'],$b['g'],$b['b']);//画布背景颜色 $text_color=imagecolorallocate($bg,$t['r'],$t['g'],$t['b']);//内容文字颜色 /**/ if($r[area]=''){ $text='No Data'; }else{ $text=stripslashes($r[$area]); } $text=str_to_image($fontsize,0,$fontface,$text,$width-10);//自动换行处理 //若文件编码为 GB2312 请将下行的注释去掉 //$text = iconv("GB2312", "UTF-8", $text); imagettftext($bg,$fontsize,0,10,20,$text_color,$fontface,$text);//输出图像 imagepng($bg); imagedestroy($bg); db_close();//关闭MYSQL链接 $empire=null;//注消操作类变量 ?> 二、将index.php放在/e/extend/topic/下 三、在要显示图片字段的地方加入以下代码即可
<img src="[!--news.url--]e/extend/topic/index.php?classid=[!--classid--]&id=[!--id--]&w=500&h=100&area=title&ff=msyh&fz=12&bc=fff&tc=000" />
参数说明:
classid=信息所属栏目ID
id=信息ID
w=宽
h=高
area=你的字段(如:qq)
fz=字号大小
bc=图片背景颜色 (颜色为16进制代码)
tc=显示文字颜色 (颜色为16进制代码)
ff=字体名称,ttf格式的,放在/e/extend/topic/font/下。
font目录下为你使用的字体存放,这个为必须。
插件效果截图:
本插件基于PHP GD库原创制作,本插件没有GBK版本,GBK版本需要稍作转码修改(内含说明)。
VPS就是在物理服务器中分割出多个虚拟分区,每个分区都拥有独立的操作系统、内存、磁盘和带宽,可以自主开机、关机、重启以及安装软件应用和配置环境等等,在使用体验上和一台真正的独立服务器没有区别。简而言之,VPS就是让你用更少的钱享受到和独立服务器相同的体验,以及比虚拟主机更多的硬件资源。
如果你希望享受到比虚拟主机更多的功能和硬件资源配额,但是又无法承受独立服务器的高成本,那么VPS可能是你最理想的选择。通过选择“VPS”,可以以更低的成本享受到和一台真正的独立服务器同样的体验。如果需要更多资源,还可以在商家后台可以一键升级套餐。
VPSNO一直致力于发布全球主机商的便宜VPS,包含便宜 Linux VPS、便宜 Windows VPS和独立服务器的最新促销信息。可以通过每天浏览本站或是订阅我们的RSS源,以确保您不会错过最优惠的价格。