PHP中提供了一些对图像进行编辑处理的函数,其中最为典型的应用为随机图形验证码、图片水印以及数据统计中饼状图和柱状图的生成等php
PHP中有的图形函数能够直接使用,但多数须要在安装了GD2函数库后才能使用。在Windows平台下安装GD2库很简单,就是PHP5自带的ext目录中的php_gd2_dll文件。浏览器
若是没有,说明安装PHP时没有安装GD2库,打开php.ini文件,查看php.ini文件(c:\winsows),查看文件中是否有一句";extension = php_gd2.dll"(Paths and Directories 里),若是有,将其中的“;”去掉,再将文件中扩展目录extension_dir的值设置成PHP的ext目录所在的完整路径,如"extension_dir = E:\php5\ext",保存后重启Apache便可函数
绘制一个图形通常包括4个步骤:1)建立一个背景,2)在背景中绘制图形或输入文本,3)输出图形,4)释放全部资源spa
在此以前注意先将php.ini文件里 Language Options下的output_buffering默认的off改成on,而后重启Apache(Apache Restart),不然会出现以下的Warning:code
Cannot modify header information - headers already sent by.....orm
例:绘制PNG图形,如绘制一条直线blog
$image = imagecreate(400,400);//建立一个图像,两个参数表示图像的宽度和高度,单位为像素,并返回此图像的数据流 $background_color = imagecolorallocate($image,255,255,255);//为图像设置了白色的背景流, $black = imagecolorallocate($image,0,0,0);//为图像设置了黑色的背景流 imageline($image,0,0,100,100,$black);//绘制一条直线,并设置其颜色为黑色 ob_clean();//清除输出,不然图像没法显示 header("Content-type:image/png");//向浏览器发送头信息,输出png图片 imagepng($image);//输出图形 imagedestroy($image);//清除资源
图像处理函数能够直接建立一个图像流来绘制图形,还能够将现有的图片做为图像流读入,而后在次基础上对图像进行修饰,如加上水印效果等。这种功能经常使用来防止图片被盗用图片
例:在原始图片(jpeg格式)上添加一个水印网址资源
ob_clean(); header("Content-type:image/jpeg"); $im = imagecreatefromjpeg("dog.jpg"); $red = imagecolorallocate($im,255,0,0); imagestring($im,5,6,10,"http://www.cnblogs.com/520xiuge/",$red); imagejpeg($im); imagedestroy($im);