/*

* 利用GD库的相关概念,创建一个扭曲的验证码。

* */

class image{

public static function code(){

$str = 'ABCDEFGHJKMNPQRTUVWXYZabcdefhjkmnpqrtuvwxyz234678';

$code = substr(str_shuffle($str), 0,5);

//创建画布

$src = imagecreatetruecolor(100, 50);

$dst = imagecreatetruecolor(100, 50);

//创建颜色

$sgray = imagecolorallocate($src, 200, 200, 200);

$dgray = imagecolorallocate($dst, 200, 200, 200);

$randcolor = imagecolorallocate($src, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255));

//填充背景

imagefill($src, 0, 0, $sgray);

imagefill($dst, 0, 0, $dgray);

//写字

imagestring($src, 10, 30, 15, $code, $randcolor);

for ($i=0; $i < 100; $i++) {

//第四个参数,复制到 dst 的 Y 值非常重要

//根据正弦曲线来计算波动量

$offset = 3; //最大波动3PX

$round = 2; //扭动2个周期

//根据正弦曲线设置偏移量

$posY = round(sin(($round * 2 * M_PI / 60) * $i) * $offset);

imagecopy($dst, $src, $i, $posY, $i, 0, 1, 50);

}

//保存

header('content-type: image/jpeg');

imagejpeg($dst);

//销毁

imagedestroy($dst);

}

}

image::code();

效果图:

php 验证码数字英文的,PHP 创设扭曲英文验证码相关推荐

  1. 设计登录页面测试用例,页面包括账号、密码和验证码,账号字符长度小于20,密码字符长度小于30,验证码数字和字母组合,长度为4

    1. 正确输入账号.密码和验证码,登录成功. 2. 账号为空,应提示"请输入账号". 3. 账号长度为19个字符,符合要求. 4. 账号长度为20个字符,符合要求. 5. 账号长度 ...

  2. 数字排在最前,英文字母其次,汉字则按照拼音进行排序,获取中文首字母

    中文名称,按照A-Z方式进行排序. import cn.hutool.extra.pinyin.PinyinUtil; import com.alibaba.nacos.client.utils.St ...

  3. 验证码数字0-9代码分析

    验证码数字0-9代码分析 验证码数字0-9代码分析 1.random.nextInt(10) 2.StringBuffer.append() 验证码数字0-9代码分析 /** * 生成验证码字符串 * ...

  4. JS实现数字字母混合验证码(数字+大写字母+小写字母)

    我之前写了一篇<JS实现随机验证码>,可以产生随机数字.随机颜色.随机位置,但只能产生数字验证码,今天在此基础上进行改进,使之可以随机大写字母.小写字母.数字三种类型. 思路 我们使用Ma ...

  5. 计算机视觉 英文论文,数字图像处理 外文翻译 外文文献 英文文献 数字图像处理方法研究.doc...

    数字图像处理 外文翻译 外文文献 英文文献 数字图像处理方法研究 PAGE PAGE 10 The research of digital image processing technique 1 I ...

  6. 选择结构习题:输入0~6的数字,输出对应星期的英文。

    试题详情: 请输入0~6的数字,输出对应星期的英文.如果输入不正确,则输出"error".0~6星期对应为: Sunday, Monday,Tuesday,Wednesday,Th ...

  7. 金额输入框输入数字不允许输入中文、英文、自带千分位

    金额输入框输入数字不允许输入中文.英文.自带千分位 效果图: 直接上代码 <template><div class="fund"><div class ...

  8. jsp正则表达式:支持中文、英文大小字母、英文下划线“_“、英文横线“-“和数字

    某平台规范:name支持中文.英文大小字母.英文下划线"_".英文横线"-"和数字. 我用jsp正则表达式test函数,发现只能检验字符串中含有这几类字符,但是 ...

  9. 图形数字的识别算法: 车牌识别及验证码识别的一般思路

    图形数字的识别算法: 车牌识别及验证码识别的一般思路 本文源自我之前花了2 天时间做的一个简单的车牌识别系统.那个项目,时间太紧,样本也有限,达不到对方要求的95% 识别率(主要对于车牌来说,D,0 ...

最新文章

  1. 2021年大数据Flink(十八):Flink Window操作
  2. 通信错误:(-1)[描述:无法解析路由器DDNS地址,请检查DDNS状态.] 解析办法
  3. elasticsearch:7.9.3 docker 开启日志
  4. 哪些是能安装mysql的文件_安装mysql详细步骤有哪些?
  5. CPU调度(CPU Scheduling)
  6. 使用VS进行远程调试
  7. java一维数组排序
  8. /opt/hbase/conf 中不能启动hbase_Hbase从入门到入坑
  9. SpringToolsSuite (STS)或Eclipse安装gradle
  10. 遍历 Dictionary,你会几种方式?
  11. 如何安装mysql5.7.2_CentOS 7.2 安装MySQL 5.7
  12. gen2服务器只显示spbc,gen2-regen培训资料.ppt
  13. VsCode 使用和问题总结
  14. iOS微信运动 刷分
  15. python插排_PythonTkinter接收插座不接收
  16. ASP.NET 2.0 Page的执行顺序
  17. 技能证里的天花板-阿里云云计算架构师ACE认证将全面升级!
  18. vs2013创建WebService
  19. live2dviewer android,Live2DViewerEX
  20. 关于python的列表以下选项中描述错误的是_关于Python的元组类型,以下选项中描述错误的是 (4.0分)_学小易找答案...

热门文章

  1. 动画:从 AE 到 Web
  2. 在VM虚拟机上安装Red Hat Enterprise Linux
  3. android 广告轮播图片+视频+音频
  4. Win10安全中心误删隔离文件怎么恢复
  5. snp maf_Oracle MAF中的LOV
  6. 利用Python从字幕网上下载自己所需要的字幕(热门电影、美剧等)
  7. 修改tomcat 发布war大小限制
  8. Mysql的问题 Row size too large
  9. Rabbit安装及简单的使用
  10. java类详解_JAVA 内部类详解