php中如何将验证码放入页面,如何在php中生成验证码图片
1.获取生成验证码字体:
在php文件路径新建一个fonts文件夹,里面有字体文件。
//判定字体资源
if(empty($fonts))
$fonts="arial.ttf";
//确认字体路径
$fonts=__DIR__."/fonts/".$fonts;
$fonts=str_replace("/","\\",$fonts);
2.制作画布,随机分配背景色
$img=imagecreatetruecolor($width,$height);
$bg_color=imagecolordeallocate($img,mt_rand(200,255),mt_rand(200,250));
imagefilter($img,0,0,$bg_color);
3.增加干扰点、线
//增加干扰点:*
for($i = 0;$i < 50;$i++)
{
//随机颜色
$dots_color = imagecolorallocate($img, mt_rand(140,190), mt_rand(140,190), mt_rand(140,190));
//使用*号作为干扰点
imagestring($img, mt_rand(1,5), mt_rand(0,$width), mt_rand(0,$height), '*', $dots_color);
}
//增加干扰线
for($j = 0;$j < 10;$j++)
{
//随机线段颜色
$line_color = imagecolorallocate($img, mt_rand(80,130), mt_rand(80,130), mt_rand(80,130));
//随机线段
imageline($img,mt_rand(0,$width),mt_rand(0,$height),mt_rand(0,$width),mt_rand(0,$height),$line_color);
}
4.将验证码放入图片
$captcha=array(3,4,'a','i');//可以自己使用写一个方法生成数组;
$length=sizeof($captcha);
for($i = 0;$i < $length;$i++){
//给每个字符分配不同颜色
$c_color = imagecolorallocate($img, mt_rand(0,60), mt_rand(0,60), mt_rand(0,60));
//增加字体空间、大小、角度显示
imagettftext($img,mt_rand(15,25),mt_rand(-45,45),$width/($length+1)*($i+1),mt_rand(25,$height-25),$c_color,$fonts,$captcha[$i]);
}
5.保存图片
imagejpeg($img,"test.jpg",100);
推荐:php视频教程 php教程
php中如何将验证码放入页面,如何在php中生成验证码图片相关推荐
- PHP生产一个验证码图片,PHP使用GD库生成验证码图片,实现图片验证
本文记录从php 下载配置GD图片生成库 到使用该库生成验证码图片,网页上实现验证码. 使用技术: php使用GD库绘图 [php版本7.3] php session 缓存 实现最终效果: 一. 配置 ...
- java web 生成验证码_Javaweb开发中通过Servlet生成验证码图片
一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片 package gacl.res ...
- H5页面使用html2canvas实现div生成为图片,保存到手机
在做微信公众号H5页面时,需求要求html页面生成base64图片,并保存到手机相册中.之前没做过,在网上搜了相关的资料.了解到了html2canvas.js. html2canvas首先将页面生成c ...
- ai如何置入_如何在 InDesign 中置入、导入和插入图像
置入(导入)图形 "置入"命令是用于向 InDesign 插入图形的主要方法,因为该命令可以提供最高级别的分辨率.文件格式.多页面 PDF.INDD 文件和颜色支持.置入图形也称为 ...
- 今天来马克一下把数据库中的数据动态显示到前台页面下拉框中/默认选中
我知道方法应该有很多,但是我觉得我接下来说的方法还是很简单的. 首先最最重要的就是在前台页面页面头部写上 <%@taglib prefix="c" uri="htt ...
- 中boxplot函数的参数设置_如何在Python中生成图形和图表
在本章中,我们将学习如何在Python中生成图形和图表,同时将使用函数和面向对象的方法来可视化数据. Python中常用的一些可视化数据包括以下几种. Matplotlib. Seaborn. ggp ...
- jenkins中maven的安装及配置,如何在jenkins中创建maven任务。
本文介绍了在jenkins中maven的安装及配置(安装maven及jdk的方法),以及如何在jenkins中创建maven任务. 有三点需要注意的地方. maven一定要安装在jenkins服务器上 ...
- vba中取小数点后两位数_如何在Excel中提取小数点后面的数字?
Excel中,如果某个单元格中包含一个带小数,要用公式提取该数值小数点后面的数字,例如A1单元格中包含一个数值"59178.68",在B1单元格中输入下面的公式: =RIGHT(A ...
- python中列表长度查询,从零开始学Python|如何在Python中查找列表的长度?
Python中的列表是有序且可更改的集合数据类型.列表也可以有重复的条目.所述的PythonLEN()方法被用于找到任何对象的长度.在本文中,我们将按以下顺序学习如何在python中查找列表的长度: ...
最新文章
- 被劝退的学渣,逆袭成高级语言之父,改变编程方式却说“不喜欢写代码”!...
- Mysql的innodb缓冲池管理(转)
- 苹果官方Instruments工具之Automation的介绍
- canvas 文字颜色_Canvas基本功能Canvas标签
- AUTOSAR从入门到精通100讲(二十六)-AutoSar之微控制器抽象层MCAL
- C++基础06-类与对象之new和malloc
- 第十五篇 Python之文件处理
- linq to xml查询绑定GridView
- 注意sizeof()返回的数无符号数,有符号数遇到无符号数时变成无符号数
- 分布式session之redis解决方案实现
- Delphi判断是否有全屏程序
- wincc 7.4 sp1在win10 下安装环境搭建
- 2021美赛C题M奖思路
- 如何在微信小程序中实现与客户实时会话(聊天)
- 常用公差配合表图_车间里常用的机械测量工具竟然这么多?涨知识
- 加拿大计算机硕士留学移民,加拿大硕士留学移民深度解析,纯干货
- 开心网创始人兼CEO程炳皓
- 《十二生肖运程图》网站欣赏
- 方正书版PS文件转换PDF文件PHP源程序 发布说明
- vue 页面使用两套el-form表单并且嵌套使用el-checkbox
热门文章
- Objective-C之null NaN undefined
- 脱裤子放屁,多此一举
- AdoHelper使用MySQL存储过程示例
- 位枚举(Bit Flags)
- 7-4 银行排队问题之单队列多窗口加VIP服务 (30 分)
- ireport参数传递json_Json传递数据两种方式(json大全)
- swift 选中长按项_Swift下使用UICollectionView 实现长按拖拽功能
- POSIX条件变量API函数
- ARM 汇编语言入门
- 安卓逆向_3 --- 篡改apk名称和图标、修改包名实现应用分身、修改资源去广告、去除re管理器广告