第十四章 处理图像

    1.创建图像

    2.简单小案例

    展包,只需去掉GD 扩展包的相应注释就可以正常使用了。PHP5 包含的GD 库正是升级的

    GD2 库,其中包含支持真彩图像处理的一些有用的JPG 功能。

    来直接获取动态图形。比如,验证码、水印、微缩图等。

    一.创建图像

    创建图像的一般流程:

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

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

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

    5).输出最终图形。

    6).清除所有资源。

    7).其他页面调用图像。

    设定标头指定MIME 输出类型

    1. <?php header('Content-Type: image/png'); ?>

    创建一个空白的图像区域

    1. <?php $im = imagecreatetruecolor(200,200); ?>

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

    1. <?php $white = imagecolorallocate($im,255,255,255);
    2. imageline($im,0,0,200,200,$white);
    3. imageline($im,200,0,0,200,$white);
    4. imagestring($im, 5, 80, 20, "Mr.Lee", $white); ?>

    输出最终图形

    1. imagepng($im); ?>

    清除所有资源

    1. <?php
    2. imagedestroy($im); ?>

    其他页面调用创建的图形

    二.简单小案例

    简单验证码

    1. <?php header('Content-type: image/png'); for($Tmpa=0;$Tmpa<4;$Tmpa++){ $nmsg.=dechex(rand(0,15));
    2. } $im = imagecreatetruecolor(75,25); $blue = imagecolorallocate($im,0,102,255); $white = imagecolorallocate($im,255,255,255);
    3. imagefill($im,0,0,$blue);
    4. imagedestroy($im); ?>

    加载已有的图像

    1. <?php header('Content-Type:image/png'); define('__DIR__',dirname(__FILE__).'\\'); $im = imagecreatefrompng(__DIR__.'222.png'); $white = imagecolorallocate($im,255,255,255);
    2. imagestring($im,3,5,5,'http://www.yc60.com',$white);
    3. imagepng($im);
    4. imagedestroy($im); ?>

    加载已有的系统字体

    1. imagettftext($im,20,0,30,30,$white,$font,$text); ?>

    图像微缩