1.header
首先我们先讲header指令,之前学习过的header('content-type:text/html;charset=utf-8');主要针对与输出文字内容的网页,而现在要输出图像所以要使用这几个header指令,
第一个---header('content-type:image/png');
第二个---header ( 'Content-Type: image/gif' );
第三个---header ( 'Content-Type: image/jpeg' );
2.创建画布
创建画布我们使用imagecreatetruecolor()函数,这个函数会新建一个真彩色图像,
这个函数的语法结构为 resource imagecreatetruecolor ( int $width , int $height )
resource表示资源,PHP有一个特殊的数据类型就是resource(资源),我们创建画布使用的就是资源
这个函数返回一个图像标识符(或者叫资源),代表了一幅大小为 width 和 height 的黑色图像。
返回值:成功后返回图象资源,失败后返回 FALSE 。
<?php
header('content-type:image/png');
//创建画布(在内存中存放)
$img = imagecreatetruecolor(200,100);
我们创建好的画布是在内存中存放,要想显示出来,就需要输出
3.输出图像
输出图像我们使用imagepng ()函数,是因为我们的header指令中写的png,使用要使用imagepng ()函数,
语法结构为bool imagepng ( resource $image [, string $filename ] ); 它将 GD 图像流( image )以 PNG 格式输出到标准输出(通常为浏览器),或者如果用 filename 给出了文件名则将其输出到该文件。
输出图像的函数还有imagegif,imagejpeg 两种
bool imagegif ( resource $image [, string $filename ] );
bool imagejpeg ( resource $image [, string $filename [, int $quality ]] );
//输出画布
imagepng($img);
4.销毁图像
输出玩画布后我们要销毁图像,目的是释放被占用的空间(或者说是资源),我们使用imagedestroy
语法结构为 bool imagedestroy ( resource $image ) 释放与 image 关联的内存
//销毁图像(释放占用的资源)
imagedestroy($img);
5.颜色管理
接下来我们要来创建一个颜色,我们使用imagecolorallocate
语法结构为 int imagecolorallocate ( resource $image , int $red , int $green , int $blue ) 为一幅图像分配颜色
参数red , green 和 blue 分别是所需要的颜色的红,绿,蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xFF
//创建颜色
$color = imagecolorallocate($img,255,0,0);
6.填充颜色
我们还要确定一个填充区域,使用imagefill
语法结构为 bool imagefill ( resource $image , int $x , int $y , int $color )
这个函数意思为 image 图像的坐标 x , y (图像左上角为 0, 0)处用 color 颜色执行区域填充(即与 x, y 点颜色相同且相邻的点都会被填充)
//填充区域
imagefill($img,0,0,$color);
然后我们的画布就创建完毕了完整版代码如下、
<?php
header('content-type:image/png');
//创建画布(在内存中存放)
$img = imagecreatetruecolor(200,100);
//创建颜色
$color = imagecolorallocate($img,255,0,0);
//填充区域
imagefill($img,0,0,$color);
//输出画布
imagepng($img);
//销毁图像(释放占用的资源)
imagedestroy($img);