宝哥软件园

PHP中绘制图像的一些功能概述

编辑:宝哥软件园 来源:互联网 时间:2021-09-09

PHP中绘制图像的功能非常丰富,包括点、线、几何图形以及其他可以想象的平面图形,都可以通过PHP中提供的各种绘制功能来完成。我们在这里介绍一些常用的图像渲染。如果我们使用没有介绍的功能,可以参考手册来实现。另外,这些图形绘制功能都需要使用画布资源,它们在画布中的位置由坐标决定(原点是画布左上角的起始位置,以像素为单位,沿X轴正方向向右延伸,沿Y轴正方向向下延伸),每个图形的颜色也可以通过函数的最后一个参数来设置。画布中的坐标系如图所示。

首先,函数图形区域用imageFill()填充

通过PHP只画有边的几何图形是不够的,可以使用相应的填充功能来填充图形区域。除了每个图形都有相应的填充功能之外,您还可以使用imageFill()函数来填充该区域。此函数的语法格式如下:复制代码如下: bool image fill(resource $image,int $x,int $y,int $color)//area填充参数$color指定的颜色从参数$ image表示的图像上的坐标($ x,$ y)开始,相对于图像左上角的坐标(0,0)将填充与坐标($ x,$ y)点颜色相同的相邻点。例如,在以下示例中,画布的背景设置为红色。代码如下:复制代码如下:PHP $ im=imagecreatetrue color(100,100);//创建一个大小为100 * 100 $ red=imagecolorclocate($ im,255,0,0)的画布;//将一个颜色变量设置为red imagefill($im,0,0,$ red);//将背景设置为红色页眉(' content-type : image/png ');//通知浏览器这不是文字而是图片imagepng($ im);//生成PNG格式的图片,输出到浏览器image destroy($ im);//破坏图像资源,释放画布占用的内存空间?

二、画点画线imageSetPixel(),imageline()

画点画线是画图像最基本的操作。如果你灵活运用它们,你可以通过它们画出千变万化的图像。在PHP中,使用imageSetPixel()函数在画布中绘制单个像素点,并设置该点的颜色。其功能原型如下:复制代码如下: bool imageset pixel(resource $ image,int $x,int $y,int $ color)//绘制单个像素。在第一个参数$ image提供的画布上,该函数从点绘制一个颜色为$ x和$ y的像素。理论上可以使用绘图功能绘制所有需要的图形,也可以使用其他绘图功能。如果需要绘制线段,可以使用imageline()函数,其语法格式如下:复制代码如下: bool imageline(resource $ image,int $ x1,int $ y1,int $ x2,int $ y2,int $ color)//绘制线段。我们都知道两点决定一条线段。因此,此函数使用color $color在图像$image中绘制从坐标($x1,$y1)到坐标($x2,$y2)的线段。

第三,绘制矩形imageRectangle()和imageFilledRectangle()

可以使用imageRectangle()函数绘制矩形,也可以使用imageFilledRectangle()函数绘制矩形并填充。这两个函数的语法格式如下:复制代码如下: Bool Image Rectangle(Resource $ Image,int $ x1,int $ y1,int $ x2,int $ y2,Int $color) //绘制矩形Bool Image filled Rectangle(Resource Image,int $ X1,int $ Y1,int $ X2,int $ Y2,Int $color)//绘制矩形和填充这两个函数有类似的行为,在$image image中绘制矩形,只是前者使用$ Color参数指定矩形的边缘颜色。相对于图像左上角的(0,0)位置,矩形左上角的坐标为($x1,$y1),右下角的坐标为($x2,$y2)。

第四,绘制多边形imagePolygon(),imagefilledpolygon()

可以使用imagePolygon()函数绘制多边形,也可以使用imageFilledPolygon()函数绘制多边形并填充它。这两个函数的语法格式如下:复制代码如下: bool image polygon(resource $ image,array $ points,int $ num _ points,Int $color) //绘制多边形bool image filled polygon(resource $ image,array $ points,int $ num _ points,Int $ color)//绘制多边形和填充这两个函数有类似的行为,在$ image image中绘制多边形, 只不过前者使用$ color参数指定多边形的边缘颜色,而后者使用这个颜色来填充它。第二个参数$points是一个PHP数组,其中包含多边形每个顶点的坐标。 即点[0]=x0,点[1]=y0,点[2]=x1,点[3]=y1,依此类推。第三个参数$num_points是顶点总数,必须大于3。

五、绘制椭圆imageEllipse(),imageFilledElipse()

可以使用imageEllipse()函数绘制一个椭圆,也可以使用imageFilledEllipse()函数绘制一个椭圆并填充它。这两个函数的语法格式如下:复制代码如下: bool image椭圆(resource $ image,int $ CX,int $ cy,int $ w,int $ h,Int $ color)//绘制椭圆bool image圆角椭圆(resource $ image,Int $ CX,int $ cy,int $ w,int $ h,Int $ color)//绘制椭圆填充这两个函数的行为类似,在$image image中绘制椭圆, 只是前者使用$ color参数指定椭圆的边缘颜色,而后者使用它来填充颜色。 相对于画布左上角的坐标(0,0),以($cx,$cy)坐标为中心绘制一个椭圆。参数$w和$h分别指定椭圆的宽度和高度。成功则为真,失败则为假。

第六,绘制圆弧图像圆弧()

前面提到的三维扇形统计图的例子,就是利用绘制和填充圆弧的功能实现的。您可以使用imageArc()函数来绘制圆弧,以及圆形和椭圆形。这个函数的语法格式如下:复制代码如下: boolimagerc(resource $ image,int $ CX,int $ cy,int $ w,int $ h,int $ s,int $ e,int $ color)//绘制椭圆弧相对于画布左上角的坐标(0,0),函数使用($ CX,),其中参数$ w和$ h指定椭圆的宽度和高度,起点和终点由$ s和$ e参数的角度指定0是三点,顺时针画。如果要画一个完整的圆,首先将参数$w和$h设置为相等的值,然后将起始角度$s设置为0,将结束角度$e设置为360。如果需要绘制填充弧,可以查询imageFilledArc()函数。

更多资讯
游戏推荐
更多+