• 技术文章 >后端开发 >php教程

    日常整理PHP中简单的图形处理(经典)_php实例

    2016-06-07 17:11:07原创388

    1.加载GD库

    GD库是一个开放的动态创建图像、源代码公开的函数库,可以从官方网站http://www.boutell.com/gd处下载。目前,GD库支持GIF、PNG、JPEG、WBMP和XBM等多种图像格式,用于对图像的处理。

    GD库在PHP 5中是默认安装的,但要激活GD库,必须修改php.ini文件。将该文件中的“;extension=php_gd2.dll”选项前的分号“;”删除,保存修改后的文件并重新启动Apache服务器即可生效。

    2.创建一个简单的图像

    使用GD2函数库可以实现各种图形图像的处理。创建画布是使用GD2函数库来创建图像的第一步,无论创建什么样的图像,首先都需要创建一个画布,其他操作都将在这个画布上完成。在GD2函数库中创建画布,可以通过imagecreate()函数实现。

    使用imagecreate()函数创建一个宽度为200像素,高度为60像素的画布,并设置画布颜色RGB(225,66,159),最后输出一个GIF格式的图像,代码如下:

    <?php
    $im = imagecreate(200,60);           //创建一个画布
    $white = imagecolorallocate($im, 225,66,159);   //设置画布的背景颜色为浅绿色
    imagegif($im);                //输出图像
    ?>

    3.使用GD2函数在照片上添加文字

    PHP中的GD库支持中文,但必须要以UTF-8格式的参数来进行传递,如果使用imageString()函数直接绘制中文字符串就会显示乱码,这是因为GD2对中文只能接收UTF-8编码格式,并且默认使用英文字体,所以要输出中文字符串,必须对中文字符串进行转码,并设置中文字符使用的字体。否则,输出的只能是乱码。

    使用imageTTFText()函数将文字“这是一个测试”输出到图像中,代码如下:

    <?php
    header("content-type:image/jpeg");    //定义输出为图像类型
    $im=imagecreatefromjpeg("images/photo.jpg");    //载入照片
    $textcolor=imagecolorallocate($im,56,73,136);//设置字体颜色为蓝色,值为RGB颜色值
    $fnt="c:/windows/fonts/simhei.ttf";   //定义字体
    $motto=iconv("gb2312","utf-8","这是一个测试");   //定义输出字体串
    imageTTFText($im,220,0,480,340,$textcolor,$fnt,$motto);   //写TTF文字到图中
    imagejpeg($im);    //建立JPEG图形
    imagedestroy($im);  //结束图形,释放内存空间
    ?>
    
    

    4.PHP生成验证码

    创建一个checks.php文件在文件中使用GD2函数创建一个4位的验证码,并将生成的验证码保存到session中:

    <?php
    session_start();
    header("content-type:image/png");    //设置创建图像的格式
    $image_width=70;           //设置图像宽度
    $image_height=18;           //设置图像高度
    srand(microtime()*100000);        //设置随机数的种子
    for($i=0;$i<4;$i++){         //循环输出一个4位的随机数
      $new_number.=dechex(rand(0,15));
    }
    $_SESSION[check_checks]=$new_number;  //将获取的随机数验证码写入到SESSION变量中   
    
    $num_image=imagecreate($image_width,$image_height); //创建一个画布
    imagecolorallocate($num_image,255,255,255);     //设置画布的颜色
    for($i=0;$i
    
    

    创建一个用户登录的表单并调用checks.php在表单中输出图像的内容:

    <?php
    session_start();
    if($_POST["Submit"]!=""){
    $checks=$_POST["checks"];
    if($checks==""){
    echo "";
    }
    if($checks==$_SESSION[check_checks]){
      echo "";
    }else{
      echo "";
    }
    }
    ?>
    
    
    
    rand函数的应用
    
    
    
    用户名
    密码
    验证码

    以上内容是小编给大家分享的有关php中简单的图形处理,希望大家喜欢。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:使用PHP similar text计算两个字符串相似度_php实例 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文详解PHP用流方式实现下载文件(附代码示例)• PHP反序列化入门总结(小白必看)• PHP原生类的总结分享• 聊聊PHP escapeshellarg函数使用的中文问题• 分享PHP函数使用小工具(附代码示例)
    1/1

    PHP中文网