图象函数中的中文显示


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 相关文章推荐
dede3.1分页文字采集过滤规则详说(图文教程)续四
Apr 03 PHP
说明的比较细的php 正则学习实例
Jul 30 PHP
php xml留言板 xml存储数据的简单例子
Aug 24 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
Aug 18 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
Dec 10 PHP
php微信公众号开发模式详解
Nov 28 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
PHP命名空间与自动加载类详解
Sep 04 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 PHP
PHP实现简单日历类编写
Aug 28 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 Image Resize图片大小调整的函数代码
2011/01/17 PHP
教你如何使用php session
2013/10/28 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
通过图带你深入了解vue的响应式原理
2019/06/21 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
JS实现多选框的操作
2020/06/24 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
pytorch中tensor的合并与截取方法
2018/07/26 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
党员批评与自我批评
2014/02/12 职场文书
政府采购方案
2014/06/12 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
2015年教师新年寄语
2014/12/08 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python
深入理解redis中multi与pipeline
2021/06/02 Redis
MySQL 服务和数据库管理
2021/11/11 MySQL