PHP实现在图片中添加中文文字
发表于:2007-07-01来源:作者:点击数:
标签:
? php /* 注意:需要gd库支持,需要iconv支持(php5已经包含不用加载) *version 1.0 sanshi(叁石) *QQ: 35047205 *MSN: *Create 2005/10/20 在图片中添加中文文字 */ /* param $image 图象资源 param size 字体大小 param angle 字体输出角度 param showX 输
<?
php/*
注意:需要gd库支持,需要iconv支持(php5已经包含不用加载)
*version 1.0
sanshi(叁石)
*QQ: 35047205
*MSN:
*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();
?>
原文转自:http://www.ltesting.net