首页 > 后端开发 > php教程 > php图像图形的操作GD库的使用基础教程

php图像图形的操作GD库的使用基础教程

小云云
发布: 2023-03-20 17:20:01
原创
1461 人浏览过

本文主要和大家分享php图像图形的操作GD库的使用基础教程,希望能帮助到大家。

1>GD库简介

GD指的是Graphic Device,PHP的GD库是用来处理图形的扩展库,通过GD库提供的一系列API,可以对图像进行处理或者直接生成新的图片。
 PHP除了能进行文本处理以外,通过GD库,可以对JPG、PNG、GIF、SWF等图片进行处理。GD库常用在图片加水印,验证码生成等方面。
 PHP默认已经集成了GD库,只需要在安装的时候开启就行。

创建图像的一般流程

  1. 设定标头,告诉浏览器你要生成的MIME类型

  2. 创建一个图像区域,以后的操作都将基于此图像区域

  3. 在空白图像区域绘制填充背景

  4. 在背景上绘制图形轮廓输入文本

  5. 输出最终图形

  6. 清除所有资源

  7. 其他页面调用

header("content-type: image/png");$img=imagecreatetruecolor(100, 100);$red=imagecolorallocate($img, 0xFF, 0x00, 0x00);
imagefill($img, 0, 0, $red);
imagepng($img);
imagedestroy($img);
登录后复制
  1. 绘制线条
    imageline()
     语法:imageline(

    sX,

    eX,

    col);

  2. 绘制圆
    imagearc()
     语法:imagearc (

    cx ,

    w ,

    startAngle,

    color )

$img = imagecreatetruecolor(200, 200);// 分配颜色$red = imagecolorallocate($img, 255, 0, 0);$white = imagecolorallocate($img, 255, 255, 255);//背景填充白色
imagefill($img,0,0,$white);// 画一个红色的圆
imagearc($img, 100, 100, 150, 150, 0, 360, $red);
imagepng($img);// 释放内存
imagedestroy($img);
登录后复制
  1. 绘制矩形
    imagerectangle()
     语法:imagerectangle (

    x1 ,

    x2 ,

    col)

$img = imagecreatetruecolor(200, 200);// 分配颜色$red = imagecolorallocate($img, 255, 0, 0);$white = imagecolorallocate($img, 255, 255, 255);
imagefill($img,0,0,$white);// 画一个红色的矩形
imagerectangle ($img,50,50,100 ,100 ,$red);
imagepng($img);// 释放内存
imagedestroy($img);
登录后复制
  1. 绘制文字
     语法1:imagestring (

    font ,

    y ,

    col )
     语法2:imagettftext(

    size,

    x,

    color,

    text)

header("content-type: image/png");//imagestring字体大小设置不了$img = imagecreatetruecolor(100, 100);$red = imagecolorallocate($img, 0xFF, 0x00, 0x00);
imagestring($img, 5, 10, 10, "Hello world", $red);
imagepng($img);
imagedestroy($img);$img1=imagecreatetruecolor(200,200);$red=imagecolorallocate($img1,255,0,0);$white=imagecolorallocate($img1,255,255,255);
imagefill($img1,0,0,$red);$font="C:\Windows\Fonts\simhei.ttf";
imagettftext($img1,23,0,100,100,$white,$font,"你好吗");
imagepng($img1);
imagedestroy($img1);
登录后复制
  1. 绘制噪点
     语法:imagesetpixel(

    x,

    col)

//绘制10个噪点for($i=0;$i<10;$i++) {
  imagesetpixel($img, rand(0, 100) , rand(0, 100) , $black); 
  imagesetpixel($img, rand(0, 100) , rand(0, 100) , $green);
}
登录后复制

输出图像文件
 通过imagepng可以直接输出图像到浏览器,通过指定路径参数将图像保存到文件中
 1. imagepng()
  意义:将图片保存成png格式
  语法:imagepng(

filename)
 2. imagejpeg()
  意义:将图片保存成jpeg格式
  语法:imagepng(filename,$quality)
 3. imagegif()
  意义:将图片保存成gif格式
  语法:imagegif(filename)

案例:
 1. 随机产生验证码(php)
 2. 给图片添加水印

相关推荐:

GD库生成水印乱码的解决办法

详解PHP如何使用GD库完成验证码效果教程

什么是GD库?在PHP中加载GD库的具体介绍

以上是php图像图形的操作GD库的使用基础教程的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板