GD函数库(一)—画布与文字

PHP学习 cyanprobe 9年前 (2015-07-14) 3990次浏览 已收录 0个评论

前言:

GD函数库各位可能听说过吧,这是PHP内置的专门用于生成简单的图像所用的必备扩展库,它可以用于生成验证码图,缩略图,甚至图片水印等。既然是很重要的函数库,当然是必须学习的内容了。我准备分成几篇文章来学习。
2015-07-15_001746

内容:

函数补充:

1. 在PHP中,使用GD库创建画布时,可以使用下面的两个函数:

  • imagecreate(width,height);函数:通常只支持256色。
  • imagecreatetruecolor(width,height);函数:可以创建一个基于真彩色画布。

2. PHP还可从已经存在的图像文件中创建图像(在画布上进行第二次图层)。在已经存在的图像文件中,支持的图像格式有:GIF、JPEG、PNG和WBMP等。
创建不同格式的图像,需要用到不同的函数。这些函数是:

  • imagecreatefromgif()函数:从gif文件中创建图层。
  • imagecreatefromjpeg()函数:从jpg文件中创建图层。
  • imagecreatefrompng()函数:从png文件中创建图层。
  • imagecreatefromwbmp()函数:从bmp文件中创建图层。

3.imagegif($rs);输出画布gif资源,inmagedestroy($rs);销毁内存中图片数据。还有一些在下面代码演示中提及。

画布文字(验证码)代码构成:

步骤:1.创建画布 2.输出画布 3.文字配色 4.水平绘制字符串 5.销毁内存

<?php
header("content-type:image/gif");//生成一个图片页
$width=150;
$height=60;
$img=imagecreatetrueclolor($width,height);//创建基于真彩的画布
$white=imagecolorallocate($img,255,255,255);//为画布资源配色(这里是白色)
imagefilledrectangle($img,0,60,150,0,$white);//在画布中绘制填充矩形
//起点坐标(X,Y)终点坐标(X,Y) PS:画布默认为黑色,且不能更改。
imagettftext($img,20,5,30,40,$white,"字体库文件","文本内容");
//上句是用truetype字体(win默认字体库)向画布中书写文字
//字体像素20PX,倾斜角5度,X坐标30,Y40,颜色白色
imagegif($img);//从内存输出到前端页面
imagedestroy($img);//销毁内存占用
?>

利用上述代码(学以致用),我们可以创建一个类似于验证码图的东东,事实上它就是利用GD函数库的一个实例,但仅仅利用这些制作验证码还不足够,因为我们还要绘制一些干扰线,和干扰点,防止软件识别自动输入,剩下的我们明天看。


CyanProbe , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:GD函数库(一)—画布与文字
喜欢 (1)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址