PHP不仅限于处理文本数据,还可以创建不同格式的动态图像,比如GIF、PNG、JPEG、WBMP、XNP等等!
在PHP中可以通过GD扩展库实现对图像的处理,不仅可以创建新图像,而且可以处理已有图像。
创建一个图像应该完成如下四个步骤:
1、创建图像(所有的绘图设计都需要在一个图像上完成,以后的操作都将给予这个图像)
2、绘制图像(图像创建完成以后,就可以通过这个图像资源,使用各种画像函数设置图像的颜色、填充画布、画点、线段、各种几何图形,以及向图像添加文本等)
3、输出图像(完成整个图像的绘制之后,需要将图像以某种格式保存到服务器的文件中,或者将图像直接输出到浏览器上显示给用户。但在图像输出之前,一定要使用header()函数发送Content-type通知浏览器,这次发送的图片不是文本!)
4、释放资源
一、创建图像
1.创建新的
imagecreatetruecolor() //新建一个真彩色图像
2.打开服务器或网络晚间中已经存在的GIF,JPEG,PNG,WBMP格式图像
imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromgif()
imagecreatefromwbmp()
创建或者打开失败的时候会返回空字符串,并且输出一条错误信息
imagesx() //输出画布宽度
imagesy() //输出画布高度
gerimagesize() //获取图像大小
二、绘制图像
图像创建完成后,就可以通过这个图像资源,使用各种图像函数设置图像的颜色、填充图像、画点、线段、以及向图像添加文本等。
1.imagecolorallocate() //分配颜色
2.imagefill() //区域填充
3.imagesetpixel() //画一个单一像素
4.imageline() //画一条线段
5.imagerectangle() //画一个矩形
6.imagestring() //水平地面一行字符串
7.imagettftext() //用TrueType字体向图像写入文本
8.imagettfbbox() //计算TrueType文字所占区域(返回一个含8个单元的数组表示了文本外框的四个角)
9.imagecopy() //拷贝图像的一部分
10.imagecopymerge() //拷贝并合并图像的一部分
11.imagecopyresampled() //重采样拷贝部分图像并调整大小
三、生成图像
header() 注意:在该函数之前不可以输出任何内容,否则会出错
(默认情况:header('Content-type:text/html');)
imageif()
imagejpeg() //以jpg形式将图像输出到浏览器或文件
(子啊PHP代码的函数里面,使用/开头个的路径这个/不是指web根目录,而是操作系统的 文件的根目录)
<?php
header('Content-type:text/html');
imagejpeg($img,'sunshengli.jpeg'); //生成(保存)图像
?>
imagepng()
imagewbmp()
四、验证码
五、水印
文字水印1
文字水印2(文字位置在右下角)
图片水印
代码中的位置是可以改变的,根据坐标轴的计算得到想要水印放置的位置
六、缩放与裁剪