图象函数中的中文显示


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 相关文章推荐
使用sockets:从新闻组中获取文章(三)
Oct 09 PHP
打造超酷的PHP数据饼图效果实现代码
Nov 23 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
比较discuz和ecshop的截取字符串函数php版
Sep 03 PHP
CURL的学习和应用(附多线程实现)
Jun 03 PHP
解析PHP中如何将数组变量写入文件
Jun 06 PHP
ThinkPHP3.1新特性之Action参数绑定
Jun 19 PHP
PHP return语句另类用法不止是在函数中
Sep 17 PHP
php保存信息到当前Session的方法
Mar 16 PHP
PHP安全上传图片的方法
Mar 21 PHP
php连接oracle数据库的核心步骤
May 26 PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 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
类的另类用法--数据的封装
2006/10/09 PHP
php 过滤危险html代码
2009/06/29 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
javascript 支持链式调用的异步调用框架Async.Operation
2009/08/04 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
jquery操作select元素和option的实例代码
2016/02/03 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
JavaScript中数据类型转换总结
2016/12/25 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
JS实现轮播图效果
2020/01/11 Javascript
Python做文本按行去重的实现方法
2016/10/19 Python
python批量下载抖音视频
2019/06/17 Python
关于Python内存分配时的小秘密分享
2019/09/05 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
python实现自动清理重复文件
2020/08/24 Python
python实现视频压缩功能
2020/12/18 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
技术总监岗位职责
2013/12/05 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
青春无悔演讲稿
2014/05/08 职场文书
北京英文导游词
2015/02/12 职场文书
网络销售员岗位职责
2015/04/11 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python
一文了解MYSQL三大范式和表约束
2022/04/03 MySQL
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript