GD库基础

一、什么是GD库?

  一套操作动态图像的函数库

二、为什么使用GD库?

  因为在PHP中不仅要处理文本数据,也需要处理图像数据

三、什么时候使用GD库?

  验证码、图像的裁剪、图像的缩略、图像的水印、股票信息图、统计图

四、安装GD库

  ①检测php/ext目录下是否拥有php_gd2.dll函数库文件

  ②须在php.ini文件中开启扩展包:extension=php_gd2.dll

  ③检测是否开启成功:phpinfo();

五、如何操作GD库(PHP手册内GD库操作)

  1、创建真彩色画布(创建一块操作图像的内存资源)

    $img=imagecreatetruecolor($width,$height);

  2、分配颜色

    $red=imagecolorallocate($img,255,0,0);

    $green=imagecolorallocate($img,0,255,0);

    $blue=imagecolorallocate($img,0,0,255);

    $white=imagecolorallocate($img,255,255,255);

    $black=imagecolorallocate($img,0,0,0);

    $color=imagecolorallocate($img,R,G,B);

    $color_alpha=imagecolorallocatealpha($img,R,G,B,0~127);

  3、操作图像

    //画一个矩形并填充

    imagefilledrectangle($img,x1,y1,x2,y2,$color);

      x1、y1:左上角坐标

      x2、y2:右下角坐标

    //画一条线段

    imageline($img,x1,y1,x2,y2,$color);

      x1、y1:左端点坐标

      x2、y2:右端点坐标

    //画一个圆形并填充

    imagefilledellipse($img,cx,cy,$width,$height,$color);

      cx:圆心x坐标

      cy:圆心y坐标

      $width:圆的宽

      $height:圆的高

    //画一个多边形并填充

    imagefilledpolygon($img,$points,$num_points,$color);

      $points:按顺序包含有多边形各顶点x和y坐标的数组

        $points=array(x1,y1,x2,y2,x3,y3,x4,y4);

      $num_points:多边形顶点的总数(>3)

    //向图像写入文本

    imagettftext($img,$size,$angle,x,y,$color,$fontfile,$text);

      $size:字体大小

      $angle:文本从左向右的角度,逆时针旋转值

      x、y:定义文本第一个字符的基本点

      $fontfile:字体文件(.ttf)所在的路径

  4、通知浏览器以图像的形式展现

    header("content-type:image/png");  (图像格式可自定义)

    header("content-type:image/gif");

    header("content-type:image/jpeg");

    header("content-type:image/wbmp");

  5、显示图像

    imagepng($img);

    imagegif($img);

    imagejpeg($img);

    imagewbmp($img);

  6、回收资源

    imagedestroy($img);

posted @ 2018-07-12 14:19  Autumn_n  阅读(145)  评论(0编辑  收藏  举报
TOP