填充几何图形

        使用GD2函数不仅可以绘制线条图形,而且可以绘制填充图形,如填充圆形,填充矩形等。下面对GD2中常用的填充图形的绘制方法进行介绍。
        
        bool imagefill( resource image, int x, int y, int color )
        imagefill()函数在image图像的坐标( x, y ) (图像的左上角为(0,0))处用color颜色执行区域填充(即与(x,y)点颜色相同切相邻的点都会被填充)。
        
         bool imagefilledarc ( resource image , int cx , int cy , int w , int h , int s , int e , int color , int style )

        imagefilledarc()  image 所代表的图像中以 cxcy(图像左上角为 0, 0)画一椭圆弧。成功时返回 TRUE, 或者在失败时返回 FALSE.w  h 分别指定了椭圆的宽和高,s  e 参数以角度指定了起始和结束点。style 可以是下列值按位或(OR)后的值:

  1. IMG_ARC_PIE
  2. IMG_ARC_CHORD
  3. IMG_ARC_NOFILL
  4. IMG_ARC_EDGED
        IMG_ARC_PIE  IMG_ARC_CHORD 是互斥的;IMG_ARC_CHORD 只是用直线连接了起始和结束点,IMG_ARC_PIE 则产生圆形边界(如果两个都用,IMG_ARC_CHORD生效)。IMG_ARC_NOFILL 指明弧或弦只有轮廓,不填充。IMG_ARC_EDGED 指明用直线将起始和结束点与中心点相连,和 IMG_ARC_NOFILL 一起使用是画饼状图轮廓的好方法(而不用填充)。 
  
         bool  imagefilledellipse  (  resource   image  ,  int   cx  ,  int   cy  ,  int   w  ,  int   h  ,  int   color  )

        imagefilledellipse()  image 所代表的图像中以 cxcy(图像左上角为 0, 0)为中心画一个椭圆。w  h 分别指定了椭圆的宽和高。椭圆用 color 颜色填充。成功时返回 TRUE, 或者在失败时返回 FALSE.


        bool imagefilledrectangle( resource image, int x1, int y1, int x2, int y2, int color )

        该函数在image图像中绘制一个用color颜色填充了的矩形, 其左上角坐标为(x1, y1),右下角的坐标为(x2, y2)。(0,0)为图像的左上角。


例如:应用如上函数,绘制填充圆形和填充正方形,代码如下

<?php
    header("Content-type: image/png");//将图像输出到浏览器
    $img = imagecreate(400, 200);//创建一个400X200的画布
    $bg = imagecolorallocate($img, 0, 0, 255);//设置背景颜色
    $white = imagecolorallocate($img, 255, 255 ,255);//设置填充颜色
    imagefilledellipse($img, 100, 100, 150, 150, $white);//绘制填充圆形
    imagefilledrectangle($img, 200, 50, 300, 150, $white);//绘制填充正方形
    imagepng($img);//以png格式输出图像
    imagedestroy($img);//释放资源

运行结果如下所示

填充几何图形_第1张图片







你可能感兴趣的:(PHP,图形,gd2)