图象函数中的中文显示


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加密解密类代码
Nov 27 PHP
深入eAccelerator与memcached的区别详解
Jun 06 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
Sep 22 PHP
php中文繁体和简体相互转换的方法
Mar 21 PHP
深入解析PHP的Yii框架中的缓存功能
Mar 29 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
Aug 17 PHP
php微信公众号开发之校园图书馆
Oct 20 PHP
在laravel中实现事务回滚的方法
Oct 10 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 PHP
PHP正则表达式函数preg_replace用法实例分析
Jun 04 PHP
PhpSpreadsheet设置单元格常用操作汇总
Nov 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
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
php 数组元素快速去重
2017/05/05 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
jquery 插件实现瀑布流图片展示实例
2015/04/03 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
CSS3+JavaScript实现翻页幻灯片效果
2017/06/28 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
JavaScript实现猜数字游戏
2020/05/20 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
2020/08/12 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
使用Python获取Linux系统的各种信息
2014/07/10 Python
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
python打包成so文件过程解析
2019/09/28 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
CSS3实现多背景模拟动态边框的效果
2016/11/08 HTML / CSS
沃尔玛旗下墨西哥超市:Bodega Aurrera
2020/11/13 全球购物
土木工程毕业生自荐信
2013/09/21 职场文书
小学教师岗位职责
2013/11/25 职场文书
医院2014国庆节活动策划方案
2014/09/21 职场文书
教师工作总结范文2014
2014/11/10 职场文书
单位租房协议范本
2014/12/03 职场文书
安全先进个人材料
2014/12/29 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
朋友离别感言
2015/08/04 职场文书
珍爱生命主题班会
2015/08/13 职场文书
2019各种保证书范文
2019/06/24 职场文书
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android