图象函数中的中文显示


Posted in PHP onOctober 09, 2006

把GB码转换到UTF8,php中TTF支持UTF8编码的非ASCII字符输出.在分析这段代码之后,发现可以实现中文与ASCII混合输出图象,这样在我们操作图象函数时可以更方便.
代码如下:
<?

function gb2utf8($gb)
{
if(!trim($gb))
return $gb;
$filename="gb2312.txt";
$tmp=file($filename);
$codetable=array();
while(list($key,$value)=each($tmp))
$codetable[hexdec(substr($value,0,6))]=substr($value,7,6);

$utf8="";
while($gb)
{
if (ord(substr($gb,0,1))>127)
{
$this=substr($gb,0,2);
$gb=substr($gb,2,strlen($gb)-2);
$utf8.=u2utf8(hexdec($codetable[hexdec(bin2hex($this))-0x8080]));
}
else
{
$this=substr($gb,0,1);
$gb=substr($gb,1,strlen($gb)-1);
$utf8.=u2utf8($this);
}
}

/*$ret="";
for($i=0;$i<strlen($utf8);$i+=3)
$ret.=chr(substr($utf8,$i,3));

return $ret;*/

return $utf8;
}
function u2utf8($c)
{
/*for($i=0;$i<count($c);$i++)*/
$str="";
if ($c < 0x80) {
$str.=$c;
}
else if ($c < 0x800) {
$str.=chr(0xC0 | $c>>6);
$str.=chr(0x80 | $c & 0x3F);
}
else if ($c < 0x10000) {
$str.=chr(0xE0 | $c>>12);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
}
else if ($c < 0x200000) {
$str.=chr(0xF0 | $c>>18);
$str.=chr(0x80 | $c>>12 & 0x3F);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
}
return $str;
}
?>

--------------------------------------------
<?
Header ("Content-type: image/jpeg");
$im = imagecreate (800, 400);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
include("gb2utf8.php");
$str=gb2utf8("aaa中过32434");
ImageTTFText ($im, 90, 10, 110, 300, $white, "/usr/share/fonts/default/TrueType/simsun.ttc",
$str);

ImageJPEG ($im);
ImageDestroy ($im);

?>

PHP 相关文章推荐
用PHP实现图象锐化代码
Jun 14 PHP
用来解析.htpasswd文件的PHP类
Sep 05 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
对于PHP 5.4 你必须要知道的
Aug 07 PHP
php中session退出登陆问题
Feb 27 PHP
php随机抽奖实例分析
Mar 04 PHP
PHP生成唯一订单号
Jul 05 PHP
php 利用socket发送HTTP请求(GET,POST)
Aug 24 PHP
PHP使用Pear发送邮件(Windows环境)
Jan 05 PHP
PHP实现批量检测网站是否能够正常打开的方法
Aug 23 PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 PHP
使用php+xslt在windows平台上
Oct 09 #PHP
配置PHP使之能同时支持GIF和JPEG
Oct 09 #PHP
PHP输出控制功能在简繁体转换中的应用
Oct 09 #PHP
PHP 增加了对 .ZIP 文件的读取功能
Oct 09 #PHP
如何去掉文章里的 html 语法
Oct 09 #PHP
如何分别全角和半角以避免乱码
Oct 09 #PHP
玩转虚拟域名◎+ .
Oct 09 #PHP
You might like
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
Yii2框架redis基本应用示例
2018/07/13 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
JavaScript 正则表达式中global模式的特性
2016/02/25 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
基于casperjs和resemble.js实现一个像素对比服务详解
2018/01/10 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
Vue实现点击显示不同图片的效果
2019/08/10 Javascript
[01:01:04]2018DOTA2亚洲邀请赛 4.5 淘汰赛 OpTic vs TNC 第一场
2018/04/06 DOTA
python局部赋值的规则
2013/03/07 Python
Python的subprocess模块总结
2014/11/07 Python
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
使用Python获取并处理IP的类型及格式方法
2018/11/01 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
金融专业毕业生推荐信
2013/11/26 职场文书
资源工程专业毕业生求职信
2014/02/27 职场文书
读后感作文评语
2014/12/25 职场文书
面试必问:圣杯布局和双飞翼布局的区别
2021/05/13 HTML / CSS
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL