• PHP动态图像处理


    相关代码见:https://www.github.com/lozybean/learn_www/ 目录

    1. 画布管理:

        imagecreate():创建一个基于调色板的画布,指定画布的长、宽,并返回其资源句柄;

        imagecreatetruecolor():创建一个真彩色图像画布,指定画布的长、宽,并返回其资源句柄;

        imagedestroy():销毁一个画布句柄;

    2. 设置颜色:imagecolorallocate(),第一个参数指定画布句柄,后三个参数分别指定rgb值,返回一个颜色标示符;

    3. 生成图像:imagegif()、imagejpeg()、imagepng()、imagewbmp(),分别生成不同格式的图像;

        在生成图像之前,必须使用header()函数,告知浏览器使用正确的MIME类型对接收的内容进行解析;

        header(“Content-type: image/gif")

    4. 绘制图像:

        imagefill(resource $image,$x,$y,$color),坐标($x,$y)表示相对于图像左上角(0,0)的位置,使用$color填充,与该点相邻且颜色相同的点都会被填充,有点像油漆桶的操作。

        imagesetpixel(resource $image,$x,$y,$color),在($x,$y)出绘制一个单一点;

        imageline(resource $image,$x1,$y1,$x2,$y2,$color),绘制一条起点为($x1,$y1),终点为($x2,$y2)的线段;

        imagerectangle(resource $image,$x1,$y1,$x2,$y2,$color),绘制一个矩形,左上角为($x1,$y1),右下角为($x2,$y2);

        imagefilledrectangle():绘制一个矩形,并使用颜色填充;

        imagepolygon(resource $image,array $points,int $num_points, int $color):绘制一个多边形,$points数组指定多边形每个顶点的坐标,依次以x0,y0,x1,y1的顺序保存,$num_points指定顶点总数;

        imagefilledpolygon():和上一个函数一样,并使用颜色填充;

        imageellipse(resource $image,$cx,$cy,$w,$h,$color):绘制一个椭圆,($cx,$cy)指定椭圆的中心,$w,$h表示椭圆的宽和高;

        imagefilledellipse():和上一个函数一样,并使用颜色填充;

        imagearc(resource $image,$cx,$cy,$w,$h,$s,$e,$color):绘制圆弧,($cx,$cy)为坐标中心,$w和$h分别指定椭圆的宽和高,起始点和终止点以角度指定,$s,$e指定开始和终止的角度,其中0°位于三点钟的位置;

        imagefilledarc():和上一个函数一样,并使用颜色填充;

    5. 绘制文字:

        imagestring(resource $image,$font,$x,$y,$s,color):水平画一行字符串,$font为一个整形表示内置字体,值越大字体越大,($x,$y)表示起点坐标,$s指定字符串;

        imageupstring():垂直画一行字符串,参数相同;

        imagechar():水平画一个字符,参数相同,$s出为一个字符;

        imageupchar():垂直画一个字符,参数相同;

    6. TrueType字体:imagettftext(resource $image,float $size,float $angle, int $x, int $y, int $color,string $fontfile, string $text);

        其中$size设定字体大小,$angle设定角度,0°为从左向右的角度,更高的数值表示逆时针旋转,($x,$y)代表第一个字符的左上角坐标,$fontfile指定一个TrueType字体的路径,$text指定输出的字符串;如果是中文,则应该将其转换为UTF-8编码:iconv(“GB2312”,”UTF-8”,”一个中文”);

    7. 验证码应用(见目录vcode)

    8. 图像处理应用(见目录handle_image)

  • 相关阅读:
    log4net Appenders
    cnblogs 安家了
    log4net 资源索引贴
    Log2Console A Generic Log Viewer (for Log4Net, NLog...)
    [前端技术]如何加深对JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
    msiexec 命令使用文档
    “安装和部署”文章索引
    一句SQL实现获取自增列操作
    MsChart 部署遇到的一点问题
    [Asp.net]ZipHelper 在线压缩解压帮助类(SharpZipLib组件实现)
  • 原文地址:https://www.cnblogs.com/lyon2014/p/4625676.html
Copyright © 2020-2023  润新知