• 中文验证码


    要想显示中文可以用表示中文字符的Unicode编码的数值范围,但是这样会有许多生僻字,所以定义一个中文字符的数组是更好的解决办法,使用imagettftext()函数可以显示中文字符,但是要引入所要显示文字字体的路径,在C:WindowsFonts有这样的文件,复制到指定文件夹 array imagettftext  ( resource $image  , float $size  , float $angle  , int $x  , int $y  , int $color  , string $fontfile  , string $text  ); 返回数组 函数名imagettftext(画布资源,字体大小,逆时针旋转的角度,第一个字符左下角的坐标x,坐标y,颜色资源,所使用的字体路径,所要显示的字符串);

    <?php
    //中文验证码
    $char=array('你','我','他','好','啊','谁','觉','得','呢');
    shuffle($char);//引用传参
    $code=implode('',array_slice($char,0,4));
    
    //画布
    $im=imagecreatetruecolor(70,25);
    
    //颜料
    $gray=imagecolorallocate($im, 200, 200, 200);
    $blue=imagecolorallocate($im, 0, 0, 255);
    
    //填充
    imagefill($im,0,0,$gray);
    
    //写字
    imagettftext($im,12,0,2,20,$blue,'./msyh.ttf',$code);
    
    //输出
    header('content-type:image/jpeg');
    imagejpeg($im);
    
    //销毁
    imagedestroy($im);
    ?>
    
  • 相关阅读:
    布局的诡异bug合集+解决方法(更新中)
    java并发:CopyOnWriteArrayList简单理解
    java集合: LinkedList源码浅析
    Idea设置类注释模板
    jquery使用FormData提交数据
    postman发送json请求
    消息队列的简单理解
    如何设计一个消息队列?
    SpringBoot配置logback
    linux下安装kafka
  • 原文地址:https://www.cnblogs.com/lzzhuany/p/4784255.html
Copyright © 2020-2023  润新知