站长资讯网
最全最丰富的资讯网站

详细分析PHP中怎样定义颜色、绘制点、线和矩形?

在之前的文章中给大家带来了《PHP中怎么输出图片?(图例详解)》,其中详细介绍了应该怎样在PHP中输出图片,本篇文章继续给大家带来我们应该怎样在PHP中绘制图像,希望能够帮助到大家!

详细分析PHP中怎样定义颜色、绘制点、线和矩形?

在PHP中绘制图像一切还是基于上一篇文章中的画布,创建画布,然后在画布上进行绘制图像。想到图像我们就想到了色彩,所以首先,我们来看一下,我们应该怎样在PHP中给图像定义颜色。

图像定义颜色

在我们使用PHP进行图像操作时,必然离不开的就是颜色的设置,不同的颜色勾勒出了这漂亮的图像。那么在PHP中我们应该怎样给图像来提供颜色呢?这时候我们就要用到imagecolorallocate() 和 imagecolorallocatealpha()这两个函数。接下来,我们就来看一看应该怎样使用这两个函数。

  • imagecolorallocate()函数

imagecolorallocate() 函数能够为图像分配颜色,想要设置多种颜色的话,需要多次调用该函数,函数的语法格式:

imagecolorallocate(resource $image, int $red, int $green, int $blue)

其中,$image表示了需要设置颜色的图像,该函数会返回一个标识符,表示了给定的RGB成分组成的颜色,$red,$green 和 $blue 分别是所需要的颜色的红,绿,蓝成分,取值范围是 0 到 255 的整数或者十六进制的 0x00 到 0xFF。

示例如下:

<?php     $image = imagecreate(100, 100);     $blue = imagecolorallocate($image, 0, 0, 255);     header('Content-type:image/jpeg');     imagejpeg($image);     imagedestroy($image); ?>

输出结果:

详细分析PHP中怎样定义颜色、绘制点、线和矩形?

  • imagecolorallocatealpha()函数

imagecolorallocatealpha()函数与imagecolorallocate()函数相比,它们的作用是相同的,但是多了一个用来设置透明参数的alpha,它的语法格式如下:

imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha)

其中,前面的参数与imagecolorallocate()函数的参数表示为一致的,$alphab表示的是透明度的参数,取值范围在 0 到 127 之间,0 表示完全不透明,127 则表示完全透明。

示例如下:

<?php     $size=300;     $image=imagecreatetruecolor($size,$size);     $back=imagecolorallocate($image,0,0,0);     $border=imagecolorallocate($image,255,255,255);     imagefilledrectangle($image,0,0,$size-1,$size-1,$back);     imagerectangle($image,0,0,$size-1,$size-1,$border);     $yellow_x=100;     $yellow_y=75;     $red_x=100;     $red_y=165;     $blue_x=187;     $blue_y=125;     $radius=150;     //用alpha值分配一些颜色     $yellow=imagecolorallocatealpha($image,200,200,0,75);     $red=imagecolorallocatealpha($image,200,0,0,75);     $blue=imagecolorallocatealpha($image,0,0,200,75);     //画3个交迭的圆     imagefilledellipse($image,$yellow_x,$yellow_y,$radius,$radius,$yellow);     imagefilledellipse($image,$red_x,$red_y,$radius,$radius,$red);     imagefilledellipse($image,$blue_x,$blue_y,$radius,$radius,$blue);     //不要忘记输出正确的header!     header('Content-type:image/png');     //最后输出结果     imagepng($image);     imagedestroy($image); ?>

输出结果:

详细分析PHP中怎样定义颜色、绘制点、线和矩形?

由此通过imagecolorallocate() 和 imagecolorallocatealpha()这两个函数已经能够实现在图像上定义颜色了。同时图像不仅是由颜色构成的,还需要有点、线还有不同的形状。那接下来我们来看一看,应该怎样去解决这些问题。

绘制点和线

绘制点和线可以说是PHP中绘制图像最基本的操作了,虽然很基本,但是灵活应用起来,可以通过它们绘制出

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号