使用GD库生成带阴影文字的图片


Posted in PHP onMarch 27, 2015

最近使用GD库来进行微信公共账号的图片生成,研究了一下GD库文字阴影效果的生成同时也发现了GD库的强大。

GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等。
GD库的安装什么的网上都有,现在很多虚拟空间也都支持,这里就不再赘述。下面通过我实际应用代码的实例和相关的注释为大家介绍一下GD库的使用方法。

原图:

使用GD库生成带阴影文字的图片

生成效果图:

使用GD库生成带阴影文字的图片

代码如下:

$str="北京";
$str2= "空气质量:轻度污染";
// 通过图片生成一个对象$im
$im = imagecreatefromjpeg("images/3.jpg");
//载入字体zt.ttf
$fnt = "zt.ttf";
//创建颜色,用于文字字体的白和阴影的黑
$white=imagecolorallocate($im,222,229,207);
$black=imagecolorallocate($im,50,50,50);
//创建关于相对图片位置的函数,方便调用
$top=100;
$left=60;
$top2=170;
//在图片中添加文字,imagettftext (image,size,angle, x, y,color,fontfile,text)
imagettftext($im,41, 0, $left+1, $top+1, $black, $fnt, $str);
imagettftext($im,41, 0, $left, $top, $white, $fnt, $str);
imagettftext($im,43, 0, $left+1,$top2+1 , $black, $fnt, $str2);
imagettftext($im,43, 0, $left,$top2, $white, $fnt, $str2);
//将$im输出
ImageJpeg($im);
//销毁$im对象
ImageDestroy($im);

接下来详细解释一下:

imagettftext (image,size,angle, x, y,color,fontfile,text)
imagettftext() 是将字符串 text画到 image所代表的图像上,从坐标 x,y(左上角为 0, 0)开始,角度为 angle,颜色为 color,使用 fontfile 所指定的 TrueType 字体文件。

由 x,y 所表示的坐标定义了第一个字符的基本点大概在字符的左下角。

angle 以角度表示,0 度为从左向右阅读文本,更高的值表示逆时针方向(即如果值为 90 则表示从下向上阅读文本)。

fontfile 是想要使用的 TrueType 字体的文件名。

text 是文本字符串,可以包含 UTF-8 字符序列。

color 是颜色的索引值。

以上所述就是本文的全部内容了,希望大家能够喜欢。

请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!

PHP 相关文章推荐
php URL验证正则表达式
Jul 19 PHP
php引用返回与取消引用的详解
Jun 08 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
Nov 07 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
PHP中的替代语法介绍
Jan 09 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
PHP常用的小程序代码段
Nov 14 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
ThinkPHP中create()方法自动验证表单信息
Apr 28 PHP
laravel5实现微信第三方登录功能
Dec 06 PHP
PHP crypt()函数的用法讲解
Feb 15 PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 29 PHP
Ubuntu12下编译安装PHP5.3开发环境
Mar 27 #PHP
php按字符无乱码截取中文的方法
Mar 27 #PHP
php实现字符串翻转的方法
Mar 27 #PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
Mar 27 #PHP
php字符串函数学习之substr()
Mar 27 #PHP
php字符串函数学习之strstr()
Mar 27 #PHP
php判断一个数组是否为有序的方法
Mar 27 #PHP
You might like
php引用返回与取消引用的详解
2013/06/08 PHP
php实现图片等比例缩放代码
2015/07/23 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
你必须知道的Javascript知识点之"深入理解作用域链"的介绍
2013/04/23 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
2017/08/16 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
浅析JavaScript 函数柯里化
2020/09/08 Javascript
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
通过shell+python实现企业微信预警
2019/03/07 Python
python将视频转换为全字符视频
2019/04/26 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
Python遍历字典方式就实例详解
2019/12/28 Python
在Python中用GDAL实现矢量对栅格的切割实例
2020/03/11 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
《维生素c的故事》教学反思
2014/02/18 职场文书
企业法人任命书
2015/09/21 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
何时使用Map来代替普通的JS对象
2021/04/29 Javascript
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis