图象函数中的中文显示


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版)
Oct 09 PHP
PHP 和 MySQL 基础教程(二)
Oct 09 PHP
php 过滤器实现代码
Aug 09 PHP
PHP中strtotime函数使用方法详解
Nov 27 PHP
php 判断是否是中文/英文/数字示例代码
Sep 30 PHP
非常实用的PHP常用函数汇总
Dec 17 PHP
php上传图片类及用法示例
May 11 PHP
PHP书写格式详解(必看)
May 23 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 17 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
Zend公司全球首推PHP认证
2006/10/09 PHP
PHP学习之PHP表达式
2006/10/09 PHP
php curl的深入解析
2013/06/02 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
javascript 简练的几个函数
2009/08/29 Javascript
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
javascript初学者常用技巧
2014/09/02 Javascript
Javascript的setTimeout()使用闭包特性时需要注意的问题
2014/09/23 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
JS获取和修改元素样式的实例代码
2016/08/06 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
详解javascript appendChild()的完整功能
2018/08/18 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
javascript实现遮罩层动态效果实例
2019/05/14 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
Pythony运维入门之Socket网络编程详解
2019/04/15 Python
Python Pandas数据中对时间的操作
2019/07/30 Python
python opencv如何实现图片绘制
2020/01/19 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
Mistine官方海外旗舰店:泰国国民彩妆品牌
2016/12/28 全球购物
大学生文员专业个人求职信范文
2014/01/05 职场文书
大学生写自荐信的技巧
2014/01/08 职场文书
化工专业大学生职业生涯规划书
2014/01/14 职场文书
医院节能减排方案
2014/06/13 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
经理助理岗位职责
2015/02/02 职场文书