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
PHP+APACHE实现用户论证的方法
Oct 09 PHP
基于php使用memcache存储session的详解
Jun 25 PHP
PHP实现取得HTTP请求的原文
Aug 18 PHP
PHP实现HTTP断点续传的方法
Jun 17 PHP
Yii中实现处理前后台登录的新方法
Dec 28 PHP
php单例模式的简单实现方法
Jun 10 PHP
PHP 自动加载的简单实现(推荐)
Aug 12 PHP
php的laravel框架快速集成微信登录的方法
Dec 12 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
Laravel框架使用Redis的方法详解
May 30 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 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读MYSQL中文乱码的解决方法
2006/12/17 PHP
elgg 获取文件图标地址的方法
2010/03/20 PHP
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
php实现天干地支计算器示例
2014/03/14 PHP
php导入模块文件分享
2015/03/17 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
PHP5.5新特性之yield理解与用法实例分析
2019/01/11 PHP
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
小程序实现投票进度条
2019/11/20 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
Python读取Word(.docx)正文信息的方法
2018/03/15 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
python把转列表为集合的方法
2019/06/28 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
python音频处理的示例详解
2020/12/23 Python
远东集团网络工程师面试题
2014/10/20 面试题
历史学专业个人的自我评价
2013/10/13 职场文书
生物制药自我鉴定
2014/01/25 职场文书
高三体育教学反思
2014/01/29 职场文书
工商管理自荐书
2014/07/06 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
2014年除四害工作总结
2014/12/06 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书