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

yipeiwu_com6年前PHP代码库

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

GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用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的$_FILES的临时储存文件与回收机制实测过程

php的$_FILES的临时储存文件与回收机制实测过程

我想有跟我一样的想法的人会这样处理的: 上传的文件只是想临时使用,不需要把原文件保存备用,如resize之类的操作,且这些后期的操作会出现在第二轮从客户端请求时才操作的,如先上传,把上传...

php计算指定目录下文件占用空间的方法

本文实例讲述了php计算指定目录下文件占用空间的方法。分享给大家供大家参考。具体分析如下: php中可以通过 RecursiveDirectoryIterator 扩展 Director...

PHP中shuffle数组值随便排序函数用法

本文实例讲述了shuffle数组值随便排序函数的用法,分享给大家供大家参考。 具体实例代码如下: 复制代码 代码如下:$typename=20; $rtitle='tt'; for(...

PHP检测一个数组有没有定义的方法步骤

PHP检测一个数组有没有定义的方法步骤

php中定义数组的方法: 1、PHP定义数组的格式: 数组名=array(); 如:$aa=array();//这样就定义了一个数组, 之后给元素赋值: $aa[0]="90...

php foreach如何跳出两层循环(详解)

使用break可以跳出当前循环,那如果想再跳出上一层的循环呢 我们就需要break 2即可 $arr1 = array('a1','a2','a3','a4');...