php绘图之在图片上写中文和英文的方法


Posted in PHP onJanuary 24, 2015

本文实例讲述了php绘图之在图片上写中文和英文的方法。分享给大家供大家参考。具体如下:

第一种方法,只能写英文,中文会出现乱码

<?php

//1、创建画布

$im = imagecreatetruecolor(300,200);//新建一个真彩色图像,默认背景是黑色,返回图像标识符。另外还有一个函数 imagecreate 已经不推荐使用。

$red = imagecolorallocate($im,255,0,0);

//2、写字

$str = "hello,world";

imagestring($im,5,30,60,$str,$red);//参数说明:5-指文字的大小。函数 imagestring 不能写中文

//3、输出图像

header("content-type: image/png");

imagepng($im);//输出到页面。如果有第二个参数[,$filename],则表示保存图像

//4、销毁图像,释放内存

imagedestroy($im);

?>

第二种方法:写中文

<?php

//1、创建画布

$im = imagecreatetruecolor(300,200);//新建一个真彩色图像,默认背景是黑色,返回图像标识符。另外还有一个函数 imagecreate 已经不推荐使用。

$red = imagecolorallocate($im,255,0,0);

//2、写字

$str = iconv("gb2312","utf-8","北京,你早!hello,world");//文件格式为gbk,而这里转为uft-8格式,才能正常输出,否则也为乱码。表示不明

imagettftext($im,12,rand(0,20),20,100,$red,"simhei.ttf",$str);

//3、输出图像

header("content-type: image/png");

imagepng($im);//输出到页面。如果有第二个参数[,$filename],则表示保存图像

//4、销毁图像,释放内存

imagedestroy($im);

?>

imagettftext() 函数远强于imagestring() 函数,表现在这几个方面:

(1)imagettftext() 可以输出中文和英文,可以指定字体;imagestring() 只能输出英文,只能使用默认字体。
(2)imagettftext() 字体大小可以无限大;imagestring() 字体只有1~5号大小。
(3)imagettftext() 输出的字体可以变换角度;imagestring() 只能水平输出。

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
第五节 克隆 [5]
Oct 09 PHP
PHP新手上路(十三)
Oct 09 PHP
推荐个功能齐全的发送PHP邮件类
Jan 03 PHP
PHP教程 预定义变量
Oct 23 PHP
php中批量修改文件后缀名的函数代码
Oct 23 PHP
PHP中如何判断AJAX提交的数据
Feb 05 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
Windows下的PHP安装pear教程
Oct 24 PHP
php导入大量数据到mysql性能优化技巧
Dec 29 PHP
php数字运算验证码的实现代码
Jul 30 PHP
php数据访问之查询关键字
May 09 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
May 13 PHP
php绘图之加载外部图片的方法
Jan 24 #PHP
php绘制一个扇形的方法
Jan 24 #PHP
php绘制一条弧线的方法
Jan 24 #PHP
php绘制一个矩形的方法
Jan 24 #PHP
php绘制一条直线的方法
Jan 24 #PHP
php绘制圆形的方法
Jan 24 #PHP
php文件上传简单实现方法
Jan 24 #PHP
You might like
php 计算两个时间戳相隔的时间的函数(小时)
2009/12/18 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
ThinkJS中如何使用MongoDB的CURD操作
2016/12/13 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
react-router中的属性详解
2017/06/01 Javascript
详解webpack3编译兼容IE8的正确姿势
2017/12/21 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
2018/02/23 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
Vue递归实现树形菜单方法实例
2018/11/06 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
python分布式编程实现过程解析
2019/11/08 Python
Python字典底层实现原理详解
2019/12/18 Python
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
社团文化节邀请函
2014/01/10 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
研究生简历自我评价范文
2014/09/13 职场文书
物业工程部主管岗位职责
2015/04/16 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
小学见习报告
2015/06/23 职场文书
工商行政处罚决定书
2015/06/24 职场文书
《去年的树》教学反思
2016/02/18 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书