使用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获取类中常量,属性,及方法列表的方法
Apr 09 PHP
destoon安全设置中需要设置可写权限的目录及文件
Jun 21 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
Jun 27 PHP
phpstorm配置Xdebug进行调试PHP教程
Dec 01 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
Dec 15 PHP
浅谈thinkphp的实例化模型
Jan 04 PHP
php输出xml属性的方法
Mar 19 PHP
浅谈PHP错误类型及屏蔽方法
May 27 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
Feb 13 PHP
如何让PHP编码更加好看利于阅读
May 12 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 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
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
2011/12/05 PHP
php开发工具有哪五款
2015/11/09 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
Sample script that deletes a SQL Server database
2007/06/16 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
javascript preload&lazy load
2010/05/13 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
jQuery中addClass()方法用法实例
2015/01/05 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
vue.js 实现点击展开收起动画效果
2018/07/07 Javascript
vue计算属性computed的使用方法示例
2019/03/13 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
js布局实现单选按钮控件
2020/01/17 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
使用pdb模块调试Python程序实例
2015/06/02 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
Django haystack实现全文搜索代码示例
2020/11/28 Python
override和overload的区别
2016/03/09 面试题
高中生的学习总结自我鉴定
2013/10/26 职场文书
感恩节红领巾广播稿
2014/02/11 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
新闻通讯稿范文
2015/07/22 职场文书