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防CC攻击实现代码
Dec 29 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
PHP无限分类(树形类)的深入分析
Jun 02 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
Mar 08 PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 PHP
php中mysql操作buffer用法详解
Mar 19 PHP
php获取图片信息的方法详解
Dec 10 PHP
PHP输入流php://input实例讲解
Dec 22 PHP
PHP打印输出函数汇总
Aug 28 PHP
PHP实现导出excel数据的类库用法示例
Oct 15 PHP
使用PHPExcel导出Excel表
Sep 08 PHP
php获取微信openid方法总结
Oct 10 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 cURL初始化和执行方法入门级代码
2015/05/28 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
PHP实现百度人脸识别
2019/05/06 PHP
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
jQuery Validate表单验证深入学习
2015/12/18 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
jQuery+json实现动态创建复杂表格table的方法
2016/10/25 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
基于Vue 服务端Cookies删除的问题
2018/09/21 Javascript
vue项目引入字体.ttf的方法
2018/09/28 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
在Django的模型中添加自定义方法的示例
2015/07/21 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
Python制作词云图代码实例
2019/09/09 Python
Django url 路由匹配过程详解
2021/01/22 Python
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
创业计划书六个要素
2013/12/26 职场文书
临床医师专业个人自我评价
2014/01/08 职场文书
求职自荐信怎么写
2015/03/04 职场文书
2015年女工委工作总结
2015/07/27 职场文书
中学校园广播稿
2015/08/18 职场文书
追悼会答谢词范文
2015/09/29 职场文书
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL