基本图像处理技术
1
体理解:
1,创建(得到)一个图像资源(resource)——它相当于一个“画板”(画布)
2,在该画板上进行“绘制图线”;
3,将该画布输出到网页上显示出来,或保存为图片文件。
图像处理技术,需要先到php.ini中,开启“gd”模块:
END
创建画布
1
$画布 = ImageCreate(宽, 高);//早期的低质量画布
$画布 = ImageCreateTrueColor(宽, 高)
$画布 = ImageCreatefromJpeg(图片文件路径)
$画布 = ImageCreatefromGif(图片文件路径)
$画布 = ImageCreatefromPng(图片文件路径)
说明:
1,$画布:其实就是一个变量而已;
2,前两个函数,是“凭空”创建出一个画布来;
3,后3个函数,是由一张显有点图片文件生成一个画布,并且该画布上就有了该图片;
END
操作画布:
1
所谓操作画布,通常就是指往画布上“画画”;
l 分配颜色:
相当于用来在画布上画画的“笔”的颜料颜色
$颜色 = ImageColorAllocate($画布, 红,绿,蓝);//得到“颜色对象”(不是面向对象的对象)
说明:红,绿,蓝颜色,其实就是3个rgb颜色体系的数字,都是0-255.
l 填充画布:
ImageFill($画布, x, y, $颜色);
含义:在该画布上的该点(坐标为x,y)来填充该颜色;
注意:此时的填充,其实不是仅仅填该点,而是“往该点倒墨水”,他会自动充满跟该点连续的区域
l 画布上写字:
ImageString($画布, 文字大小,x,y,文字,$颜色);
说明:
文字大小:只有1-5个大小设定,5最大;
l 画布上画直线:
ImageLine($画布, x1, y1,x2, y2, $颜色);
说明:在该画布上,用该颜色,从坐标(x1,y1)到坐标(x2,y2)画直线
l 画布上画矩形:
ImageRectangle($画布, x1, y1,x2, y2, $颜色);
说明:分别表示矩形的左上角坐标和右下角坐标
l 画布上画椭圆弧线:
ImageArc($画布, x, y, width, height, angle1, angle2, $颜色);
说明:
圆心坐标:(x, y)
椭圆宽度:width
椭圆高度:height
椭圆弧的起始角度:angle1,x正方向为0度。
椭圆弧的终止角度:angle2——是以顺时针为方向的
END
将画布输出为图片
1
方式1:
输出画布到独立图片文件,也就是相当保存(生成)一个图片文件;
ImagePng($画布,'文件名');
方式2:
输出画布到浏览器并显示:
header("content-type: image/png");
ImagePng( $画布 )
特别注意:
1,这种情况下,该文件不能有任何其他字符输出,自然也不能有html代码
2,其浏览方式类似这样:http://www.php44.com/day23/xxx.php ,则结果其实网页中看到的就是一张图片“而已”
3,实际上,这种方式的图片显示,通常都用于这个情形:
page1页面中:
常用的有3个输出为文件的函数:
imagePng($画布,'文件名')
imageGif($画布,'文件名')
imageJpeg($画布,'文件名')
也有常用的3个输出为“图片”显示的对应语法和函数:
1,
header("content-type: image/png");
ImagePng( $画布 )
2,
header("content-type: image/gif");
Imagegif( $画布 )
3,
header("content-type: image/jpeg");
Imagejpeg( $画布 )
END