新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > PHP教程 > 正文:PHP实现在图片中添加中文文字

PHP实现在图片中添加中文文字

新客网 XKER.COM 2006-12-08 来源: 收藏本文
<?php
/*
注意:需要gd库支持,需要iconv支持(php5已经包含不用加载)
*version 1.0
*@author sanshi(叁石)
*QQ: 35047205
*MSN: sanshi0815@tom.com
*Create 2005/10/20
图片中添加中文文字
*/
 /*
  param $image   图象资源
  param size     字体大小
  param angle    字体输出角度
  param showX    输出位置x坐标
  param showY    输出位置y坐标
  param font    字体文件位置
  param content  要在图片里显示的内容
 */
class showChinaText
{
 var $text='你好';
 var $font='fs.ttf';
 var $angle=0;
 var $size=50;
 var $showX=100;
 var $showY=100;
 function showChinaText($showText='')
 {
   $this->text=!isset($showText)?$showText:$this->text;
  //exit();
  $this->show();
 }
 function createText($instring)
 {
   $outstring="";
   $max=strlen($instring);
   for($i=0;$i<$max;$i++)
   {
   $h=ord($instring[$i]);
   if($h>=160 && $i<$max-1)
   {
              $outstring.="&#".base_convert(bin2hex(iconv("gb2312","ucs-2",substr    ($instring,$i,2))),16,10).";";
              $i++;
   }
   else
   {
              $outstring.=$instring[$i];
   }
   }
  return $outstring;
 }
 function createJpeg()
 {}
 function show()
 {
  //输出头内容
  Header( "Content-type: image/png");
  //建立图象
  $image = imagecreate(400,300);
  //定义颜色
  $red = ImageColorAllocate($image,255,0,0);
  $white = ImageColorAllocate($image,255,255,255);
  $black=ImageColorAllocate($image,0,0,0);
  //填充颜色
  ImageFilledRectangle($image,0,0,200,200,$red);
  //显示文字
  $txt=$this->createText($this->text);
  //写入文字
  imagettftext($image,$this->size, $this->angle, $this->showX, $this->showY,$white,$this->font,$txt);
  //ImageString($image,5,50,10,$txt,$white);
  //显示图形
  imagejpeg($image);
  ImageDestroy($image);
 }
}
//本类,并没有经过很好的考虑,只是简单的进行了封装,以后有机会,可能跟原来的图片类整合
?>
<?php
//使用示例
$s = new showChinaText();
?>
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐