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 相关文章推荐
PHP实现分页的一个示例
Oct 09 PHP
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
Oct 29 PHP
利用php+mysql来做一个功能强大的在线计算器
Oct 12 PHP
PHP flush()与ob_flush()的区别详解
Jun 03 PHP
浅析php中json_encode()和json_decode()
May 25 PHP
php编程每天必学之表单验证
Mar 01 PHP
PHP二维数组去重实例分析
Nov 18 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
Laravel中的Auth模块详解
Aug 17 PHP
php7 图形用户界面GUI 开发示例
Feb 22 PHP
laravel admin实现分类树/模型树的示例代码
Jun 10 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
Jun 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
php文件上传简单实现方法
Jan 24 #PHP
You might like
php实现遍历目录并删除指定文件中指定内容
2015/01/21 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
php实现的生成排列算法示例
2019/07/25 PHP
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
JavaScript动态添加style节点的方法
2015/06/09 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
JSON 数据格式详解
2017/09/13 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
解决vue-cli webpack打包后加载资源的路径问题
2018/09/25 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
python实现apahce网站日志分析示例
2014/04/02 Python
python 内置函数filter
2017/06/01 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
对python条件表达式的四种实现方法小结
2019/01/30 Python
淘宝秒杀python脚本 扫码登录版
2019/09/19 Python
python selenium实现发送带附件的邮件代码实例
2019/12/10 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
意大利奢华内衣制造商:Cosabella
2017/08/29 全球购物
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
JPA的优势都有哪些
2013/07/04 面试题
应用电子技术专业个人求职信
2013/09/21 职场文书
大专毕业生自我鉴定
2013/11/21 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2015年数学教师工作总结
2015/05/20 职场文书
2022微信温控新功能上线
2022/05/09 数码科技