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中操作Excel实例代码
Apr 29 PHP
php引用计数器进行垃圾收集机制介绍
Sep 19 PHP
php中利用str_pad函数生成数字递增形式的产品编号
Sep 30 PHP
php全角字符转换为半角函数
Feb 07 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
PHP函数eval()介绍和使用示例
Aug 20 PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 PHP
浅谈php中include文件变量作用域
Jun 18 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
统计PHP目录中的文件数方法
Mar 05 PHP
php函数式编程简单示例
Aug 08 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字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
javawscript 三级菜单的实现原理
2009/07/01 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
Easyui form combobox省市区三级联动
2016/01/13 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
python之yield表达式学习
2014/09/02 Python
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
2015/03/31 Python
Python中关于字符串对象的一些基础知识
2015/04/08 Python
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
python plotly画柱状图代码实例
2019/12/13 Python
python判断正负数方式
2020/06/03 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
给女朋友的道歉信
2014/01/10 职场文书
微信营销策划方案
2014/02/24 职场文书
2014年高考决心书
2014/03/11 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
班干部演讲稿
2014/04/24 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
物流业务员岗位职责
2015/04/03 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
MySQL 数据 data 基本操作
2022/05/04 MySQL