PHP不仅可以输出HTML,还可以创建及操作多种不同图像格 式的图像文件,包括gf、png、jpg等。更方便的是,PHP还可 以直接将图像流输出到浏览器,要处理图像,需要在编辑PHP时 加上GD库,另外还可以使用第三方图形库
PHP不仅可以输出HTML,还可以创建及操作多种不同图像格 式的图像文件,包括gif、png、jpg等。更方便的是,PHP还可 以直接将图像流输出到浏览器,要处理图像,需要在编辑PHP时 加上GD库,另外还可以使用第三方图形库
在PHP中加载GD库 PHP中图形图像的处理功能要求有一个库文件作为支持,这就是 GD2库。PHP5自带此库。在 Windows平台下,安装GD2库很简 单,PHP5中自带了GD2库扩展(就是PHP的ext目录中的 hp_gd2d攻件),修改php.ini中 extension= php -gd2d前 面的“;"即可启用。如图 enabled php. ini·记事本 GD Versio bundled(2.1.0 compatible) 件()编辑(E)格式(O)查看(帮助(H) with freetype extension=php enchant. dll extension"php fileinfo dl xtension=php ftp d11 php gd2. dll extension=php_gettext. dll libJPEG Vers 9 compatible extension=php gmp d11 PNG Support enabled extension=php intl d11 extension=php imap. dll enabled extension=php interbase. dll libXpm Version 30411 extension"php 1 dap dll XBM Support WebP Support enabled
在PHP中加载GD库 PHP中图形图像的处理功能要求有一个库文件作为支持,这就是 GD2库。PHP5自带此库。在Windows平台下,安装GD 2库很简 单,PHP 5中自带了GD 2库扩展(就是PHP的ext目录中的 php_gd2.dll文件),修改php.ini中extension=php_gd2.dll前 面的“;”即可启用。如图:
创建图像 一个简单的案例10-2php Simage=imagecreate(400, 400) /)创建一个背景,默认为黑色; 设置背景颜色为白色 Sbackground_color=imagecolorallocate(Simage, 255, 255, 255); $ black= imagecolorallocate($ image,000);/定义颜色为黑色 imageline(Simage, 0,0, 100, 100, black) 设置直线颜色为黑色 header("Content-type: image/png ") /向浏览器发送头信息,输出PNG图片 imagepng(Simage) //输出图形 nagedestroy(Simage) /清除资源
创建图像 一个简单的案例10-2.php
创建图像 1、创建背景图形 创建背景可以使用 imagecreate0和 magecreatetruecolor0函数,这两个函数都 可以创建一个空白的图形,并返回一个图像标志符(也可以称为句柄),供其他函 数使用。 语法格式如下: resource imagecreate(int $x_size, int Sy_size) resource imagecreatetruecolor(int $x_size, int Sy_size) 说明:$ X sIZe是背景的宽度,$ysze是背景的高度, Imagecreate0函数用于建 立一个基于调色板的图形,创建后可改变背景颜色。 imagecreatetruecolor(0函 数用于创建一个真彩色图形,背景颜色默认为黑色 如果图形创建成功,函数将返回一个句柄,如果失败,并不会像其他函数一样返 回 FALSE,这时可以使用de0函数来捕获错误信息。例如 $ iMage= Imagecreate(200,200) or die("创建图形失败!")
创建图像 1、创建背景图形 创建背景可以使用imagecreate()和imagecreatetruecolor()函数,这两个函数都 可以创建一个空白的图形,并返回一个图像标志符(也可以称为句柄),供其他函 数使用。 语法格式如下: resource imagecreate(int $x_size , int $y_size) resource imagecreatetruecolor(int $x_size , int $y_size) 说明:$x_size是背景的宽度,$y_size是背景的高度,imagecreate()函数用于建 立一个基于调色板的图形,创建后可改变背景颜色。imagecreatetruecolor()函 数用于创建一个真彩色图形,背景颜色默认为黑色。 如果图形创建成功,函数将返回一个句柄,如果失败,并不会像其他函数一样返 回FALSE,这时可以使用die()函数来捕获错误信息。例如: $image=imagecreate(200,200) or die("创建图形失败!");
创建图像 2、使用已有图片创建新图形 除了可以创建空白的背景图形外,还可以将已有的图片作为背景图形来创建 新的图形。如 magecreatefromg函数可以根据已有的GF图片创建新图形 imagecreatefromjpeg0函数可以根据已有的PEG图片创建新图形 $ simagecreatefrompng0函数可以根据已有的PNG图片创建新图形。已有的 图片也可以是远程的图片文件。例如10-3php <? php Simfile="dongman jpg Simage= imagecreatefromjpeg(Simfile); header("Content-type: image/jpg"); imagejpeg(Simage) //输出图形
创建图像 2、使用已有图片创建新图形 除了可以创建空白的背景图形外,还可以将已有的图片作为背景图形来创建 新的图形。如imagecreatefromgif()函数可以根据已有的GIF图片创建新图形, imagecreatefromjpeg()函数可以根据已有的JPEG图片创建新图形, $imagecreatefrompng()函数可以根据已有的PNG图片创建新图形。已有的 图片也可以是远程的图片文件。例如10-3.php:
创建图像 3、选择颜色 在处理图形的操作中,经常需要为图形的某些部分分配颜色,这时颜色值的选择就需要使用 magecolorallocate函数来完成。语法格式如下: int imagecolorallocate( resource Simage, int Sred, int Sgreen, int Blue 说明: imagecolorallocate0函数返回一个标志符,代表了由给定的红、绿、蓝(RGB)值组 成的颜色。$red、 Sgreen和sbue分别是所需颜色的红、绿、蓝成分。这些参数是0~255的 整数或者十六进制的0×00~0XFF。 imagecolorallocate0函数必须被调用以创建每一种用在 $ iMage所代表的图形中的颜色。例如 ?ph Sim=imagecreate(200, 200) /新建背景图形 Sbackground=imagecolorallocate(Sim, 255, 0, 0) //背景设为红色 //十六进制方式 Swhite=imagecolorallocate(Sim, OXFF, OXFF, OXFF)
创建图像 3、选择颜色 在处理图形的操作中,经常需要为图形的某些部分分配颜色,这时颜色值的选择就需要使用 imagecolorallocate()函数来完成。语法格式如下: int imagecolorallocate ( resource $image , int $red , int $green , int $blue ) 说明:imagecolorallocate()函数返回一个标志符,代表了由给定的红、绿、蓝(RGB)值组 成的颜色。$red、$green和$blue分别是所需颜色的红、绿、蓝成分。这些参数是0~255的 整数或者十六进制的0x00~0xFF。imagecolorallocate()函数必须被调用以创建每一种用在 $image所代表的图形中的颜色。例如: <?php $im=imagecreate(200, 200); //新建背景图形 $background=imagecolorallocate($im, 255, 0, 0); //背景设为红色 //十六进制方式 $white=imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
创建图像 4.输出图形 如果需要将已经绘制的图形输出到浏览器或文件中,可以使用相 应的函数来完成。例如,使用 dimagegif0可以将图形以GIF格式输 出到浏览器或文件, imagejpeg0将图形以JPEG格式输出 magong0函数将图形以PNG格式输出等。语法格式如下 bool imagepng(resource Simage [ string $filename ]) bool imagegif(resource Simage L string Sfilename 1) bool imagejpeg(resource Simage [ string Sfilename [, int Squality 11) qualit
创建图像 4.输出图形 如果需要将已经绘制的图形输出到浏览器或文件中,可以使用相 应的函数来完成。例如,使用imagegif()可以将图形以GIF格式输 出到浏览器或文件,imagejpeg()将图形以JPEG格式输出, imagepng()函数将图形以PNG格式输出等。语法格式如下: bool imagepng(resource $image [, string $filename ]) bool imagegif(resource $image [, string $filename ]) bool imagejpeg(resource $image [, string $filename [, int $quality ]])
创建图像 4.输出图形 不管输出什么格式的图片,都要使用 header0函数向浏览器发送相应的头信息,如要输 出GF格式的图片应使用:" header(" Content-type: Image/gif")"输出JPEG格式 的图片应使用“ header(" Content-type: Image/peg");";PNG格式使用 header(" Content-type: Image/png");"。例如10-4.php Simage=imagecreate(400, 400) //创建背景图形 back color= imagecolorallocate($ Image,255,0,0);/)置背景颜色为红色 header("Content-type: image/gif ") 发送头信息,使脚本输 出GIF格式文件 magegif($ iMage,"/back.gjf");/将图形保存为 back. g文件 imagegif(Simage), 在浏览器中输出图形 ?>
创建图像 4.输出图形 不管输出什么格式的图片,都要使用header()函数向浏览器发送相应的头信息,如要输 出GIF格式的图片应使用:“header("Content-type: image/gif");”;输出JPEG格式 的图片应使用“header("Content-type: image/jpeg");”;PNG格式使用 “header("Content-type: image/png");”。例如10-4.php: