图象函数中的中文显示


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代码
Mar 03 PHP
一贴学会PHP 新手入门教程
Aug 03 PHP
php 获取select下拉列表框的值
May 08 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
ThinkPHP中使用Ueditor富文本编辑器
Sep 02 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
Oct 11 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
php微信开发之关注事件
Jun 14 PHP
浅谈php的TS和NTS的区别
Mar 13 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 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开发者事半功倍的十大技巧小结
2010/04/20 PHP
如何使用Strace调试工具
2013/06/03 PHP
100多行PHP代码实现socks5代理服务器[2]
2016/05/05 PHP
YII框架中搜索分页jQuery写法详解
2016/12/19 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
accesskey 提交
2006/06/26 Javascript
JavaScript 不只是脚本
2007/05/30 Javascript
JavaScript中使用自然对数ln的方法
2015/06/14 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
利用Vue构造器创建Form组件的通用解决方法
2018/12/03 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
python实现给字典添加条目的方法
2014/09/25 Python
Python fileinput模块使用实例
2015/06/03 Python
python实现k-means聚类算法
2018/02/23 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
pyenv虚拟环境管理python多版本和软件库的方法
2019/12/26 Python
使用CSS3配合IE滤镜实现渐变和投影的效果
2015/09/06 HTML / CSS
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
法国足球商店:Footcenter
2019/07/06 全球购物
出纳的岗位职责
2013/11/09 职场文书
高中物理教学反思
2014/02/08 职场文书
《宋庆龄故居的樟树》教学反思
2014/04/07 职场文书
小学生作文评语大全
2014/04/21 职场文书
学籍证明模板
2014/11/21 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
收银员岗位职责范本
2015/04/07 职场文书
讲座新闻稿
2015/07/18 职场文书
Jupyter notebook 不自动弹出网页的解决方案
2021/05/21 Python
Selenium浏览器自动化如何上传文件
2022/04/06 Python