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一些公用函数的集合
Mar 27 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
PHP 程序员的调试技术小结
Nov 15 PHP
php 提速工具eAccelerator 配置参数详解
May 16 PHP
PHP自定义函数收代码
Aug 01 PHP
PHP获取网址的顶级域名函数代码
Sep 24 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
Jul 22 PHP
php安装swoole扩展的方法
Mar 19 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
May 27 PHP
老生常谈PHP面向对象之解释器模式
May 17 PHP
laravel 中如何使用ajax和vue总结
Aug 16 PHP
PHP中的自动加载操作实现方法详解
Aug 06 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游戏编程25个脚本代码
2011/02/08 PHP
php中根据变量的类型 选择echo或dump
2012/07/05 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
discuz目录文件资料汇总
2014/12/30 PHP
PHP实现搜索相似图片
2015/09/22 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
PHP屏蔽关键字实现方法
2016/11/17 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
redis+php实现微博(二)发布与关注功能详解
2019/09/23 PHP
javascript的事件描述
2006/09/08 Javascript
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
javascript模拟命名空间
2015/04/17 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
Angular4实现图片上传预览路径不安全的问题解决
2017/12/25 Javascript
vue-router 源码之实现一个简单的 vue-router
2018/07/02 Javascript
JavaScript oncopy事件用法实例解析
2020/05/13 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
Python中super函数用法实例分析
2019/03/18 Python
python实现kmp算法的实例代码
2019/04/03 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
文史专业毕业生自荐信
2013/11/17 职场文书
学雷锋标语
2014/06/25 职场文书
法人代表证明书格式
2014/10/01 职场文书
《红领巾真好》教学反思
2016/02/16 职场文书
Vue如何清空对象
2022/03/03 Vue.js