php 验证码可设置字符大小,颜色,可换背景图,可设置扭曲度

<?php


/**
复杂一点的验证码
**/

// 造画布

$file = './code.png';
$im = imagecreatefrompng($file);

// 造背景颜色
$gray = imagecolorallocate($im,200,200,200);

// 填充画布背景
imagefill($im,0,0,$gray);

// 造随机字体颜色
$color = imagecolorallocate($im,mt_rand(0,125),mt_rand(0,125),mt_rand(0,125));

// 造线条的随机颜色
$line1 = imagecolorallocate($im,mt_rand(100,125),mt_rand(100,125),mt_rand(100,125));
$line2 = imagecolorallocate($im,mt_rand(100,125),mt_rand(100,125),mt_rand(100,125));
$line3 = imagecolorallocate($im,mt_rand(100,125),mt_rand(100,125),mt_rand(100,125));

// 在画布上画线条
imageline($im,mt_rand(0,50),mt_rand(0,25),mt_rand(0,50),mt_rand(0,25),$line1);
imageline($im,mt_rand(0,50),mt_rand(0,20),mt_rand(0,50),mt_rand(0,20),$line2);
imageline($im,mt_rand(0,50),mt_rand(0,20),mt_rand(0,50),mt_rand(0,20),$line3);

// 在画布上写字
$str = substr(str_shuffle('ABCDEFGHIJKLMNPQRSTUVWXYZ23456789abcdefghijkmnpqrstuvwxyz'),0,4);

/*
array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )
*/
imagettftext($im,12,0,4,20,$color,'./msyhbd.ttc',$str);

// 输出
header("content-type:image/png");
imagepng($im);

// 销毁画布
imagedestroy($im);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值