zoukankan      html  css  js  c++  java
  • 第十四章 处理图像

    学习要点:
    1.创建图像
    2.简单小案例

          在PHP5 中,动态图象的处理要比以前容易得多。PHP5 在php.ini 文件中包含了GD 扩
    展包,只需去掉GD 扩展包的相应注释就可以正常使用了。PHP5 包含的GD 库正是升级的
    GD2 库,其中包含支持真彩图像处理的一些有用的JPG 功能。
          一般生成的图形,通过PHP 的文档格式存放,但可以通过HTML 的图片插入方式SRC
    来直接获取动态图形。比如,验证码、水印、微缩图等。

    一.创建图像

    创建图像的一般流程:
    1).设定标头,告诉浏览器你要生成的MIME 类型。
    2).创建一个图像区域,以后的操作都将基于此图像区域。
    3).在空白图像区域绘制填充背景。
    4).在背景上绘制图形轮廓输入文本。
    5).输出最终图形。
    6).清除所有资源。
    7).其他页面调用图像。

    设定标头指定MIME 输出类型

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

    创建一个空白的图像区域

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

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

    <?php
    $blue = imagecolorallocate($im,0,102,255);
    imagefill($im,0,0,$blue);
    ?>

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

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

    输出最终图形

    <?php
    imagepng($im);
    ?>

    清除所有资源

    <?php
    imagedestroy($im);
    ?>

    其他页面调用创建的图形

    <img src="Demo4.php" alt="PHP 创建的图片" />

    二.简单小案例

    简单验证码

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

    加载已有的图像

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

    加载已有的系统字体

    <?php
    $text = iconv("gbk","utf-8","李炎恢");
    $font = 'C:WINDOWSFontsSIMHEI.TTF';
    imagettftext($im,20,0,30,30,$white,$font,$text);
    ?>

    图像微缩

    <?php
    header('Content-type: image/png');
    define('__DIR__',dirname(__FILE__).'\');
    list($width, $height) = getimagesize(__DIR__.'222.png');
    $new_width = $width * 0.7;
    $new_height = $height * 0.7;
    $im2 = imagecreatetruecolor($new_width, $new_height);
    $im = imagecreatefrompng(__DIR__.'222.png');
    imagecopyresampled($im2, $im, 0, 0, 0, 0,
    $new_width, $new_height, $width, $height);
    imagepng($im2);
    imagedestroy($im);
    Imagedestroy($im2);
    ?>

      注:文章出自李炎恢PHP视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。

  • 相关阅读:
    程序员的自我救赎---1.4.3: 核心框架讲解(MVC)
    程序员的自我救赎---1.4.2: 核心框架讲解(BLL&Tool)
    程序员的自我救赎---1.4.1:核心框架讲解(DAL)
    程序员的自我救赎---1.3:事务的使用
    【零基础】极星9.5量化入门一:自定义套利的K线绘制
    【零基础】神经网络实践:BeatSaber粪谱生成器(使用方法篇)
    【零基础】使用Tensorflow实现神经网络
    【零基础】神经网络优化之Adam
    【零基础】神经网络优化之动量梯度下降
    【零基础】神经网络优化之mini-batch
  • 原文地址:https://www.cnblogs.com/zfc2201/p/3682225.html
Copyright © 2011-2022 走看看