php 绘制验证码 示例
<?php
header("content-type:image/jpeg"); session_start();//开启session //宽高 字体大小
$width=120;
$height=40;
$fontsize=20; //给画布宽高
$img=imagecreatetruecolor($width,$height); //画布背景色
$bgcolor=imagecolorallocate($img,rand(200,255),rand(200,255),rand(200,255)); //画布边框背景
$bordercolor=imagecolorallocate($img,rand(0,155),rand(0,155),rand(0,155)); //内容字体颜色
$fontcolor=imagecolorallocate($img,rand(30,100),rand(30,100),rand(30,100)); //填充背景色
imagefill($img,0,0,$bgcolor); //填充边框
imagerectangle($img,0,0,$width-1,$height-1,$bordercolor); //干扰点
for($a=0;$a<100;$a++){
imagesetpixel($img,rand(1,$width-2),rand(1,$height-2),$bordercolor);
} //创建数组
$shuzi=range(0,9); //随机数
$suiji=$shuzi[rand(0,count($shuzi)-1)].$shuzi[rand(0,count($shuzi)-1)]
.$shuzi[rand(0,count($shuzi)-1)].$shuzi[rand(0,count($shuzi)-1)]; //输出内容
imagettftext($img,$fontsize,rand(-5,5),rand(15,25),rand(28,33),$fontcolor,'ziti.ttf',$suiji);$_SESSION['yzm_b']=$suiji; //获取‘验证码输入框的内容’ //输出画布
imagejpeg($img);
?>
php 绘制验证码 示例的更多相关文章
- 通过GDI+绘制 验证码
只为了记录下自己的学习历程,方便日后查看 现在开始言归正传,以下为其完整代码附上 using System; using System.Collections.Generic; using Syste ...
- 利用GDI+在Winfrom绘制验证码
string yzm: private void yangzhengma() { Bitmap bt = new Bitmap(70,22);//创建位图对象 Graphics gs = Graphi ...
- PHP 绘制验证码
使用PHP绘制验证码 可直接使用 // 验证码 <?php $checkCode = ""; for ($i=0; $i < 4; $i++) { // 十进制转换为 ...
- 用canvas绘制验证码
在通常的登录界面我们都可以看到验证码,验证码的作用是检测是不是人在操作,防止机器等非人操作,防止数据库被轻而易举的攻破. 验证码一般用PHP和java等后端语言编写: 但是在前端,用canva或者SV ...
- java Web 请求servlet绘制验证码简单例子
主要用来了解java代码怎么绘制验证码图片,实际开发中不会这样用 protected void doGet(HttpServletRequest request, HttpServletRespons ...
- GDI+在绘制验证码中的使用
GDI+最简单的理解就是用来绘图的.其中包括点.直线.矩形.字符串等等. 先简单来个例子,说明如何在winform窗体中绘制一条直线,并且这条直线不随着窗体的移动而消失. using System; ...
- 使用Java绘制验证码
效果图: JDemo.java import java.io.File; import java.io.IOException; import static java.lang.System.out; ...
- Android 图表绘制 achartengine 示例解析
一. AChartEngine 简介 1. 项目地址 AChartEngine 简介 : AChartEngine 是 Android 平台的图表开发库, 能绘制 折线图, 饼图, 气泡图, 柱状图, ...
- HTML5 给图形绘制阴影(绘制五角星示例)
几个属性 shadowOffsetX:阴影的横向位移量. shadowOffsetY:阴影的纵向位移量. shadowColor:阴影的颜色. shadowBlur:阴影的模糊范围. 属性说明 sha ...
随机推荐
- 字符串转hash进阶版
#include<bits/stdc++.h> using namespace std; ,mod=; vector<unsigned> H[mod]; void Add(un ...
- idea 忽略不需要提交的文件
1.打开git bash界面,进入到某个项目的根目录,执行下面命令 touch .gitignore 此时,再该项目的根目录里,会创建.gitignore文本,打开该文本,编辑需要忽略的文件(编辑规则 ...
- MyBatis.多条件排序
<if test="orderBy != null"> order by <choose> <when test='orderBy=="ag ...
- AI——第四次工业革命
历史上发生了三次工业革命:第一次是以蒸汽机的发明为代表,改变了长久以来的棉纺织业,人类进入"蒸汽时代":第二次是以汽车的发明和电学的发展为代表,人类的活动范围和时长都极大地扩展,人 ...
- get_字段_display()
gender_choices = ((1, '男'), (2, '女')) gender = models.IntegerField(verbose_name='性别', choices=gender ...
- DirectX11 Windows Windows SDK--28 计算着色器:波浪(水波)
前言 有关计算着色器的基础其实并不是很多.接下来继续讲解如何使用计算着色器实现水波效果,即龙书中所实现的水波.但是光看代码可是完全看不出来是在做什么的.个人根据书中所给的参考书籍找到了对应的实现原理, ...
- Oracle GoldenGate to Confluent with Kafka Connect
Confluent is a company founded by the team that built Apache Kafka. It builds a platform around Kafk ...
- 约束路由 用正则表达式约束路由 Constraining a Route Using a Regular Expression 精通ASP-NET-MVC-5-弗瑞曼
- axios用post传参,后端无法获取参数问题
最近用vue+nodejs写项目,前端使用axios向后台传参,发现后台接收不到参数. 后台是node+express框架,然后使用了body-parser包接收参数,配置如下: const expr ...
- RoBERTa模型总结
RoBERTa模型总结 前言 RoBERTa是在论文<RoBERTa: A Robustly Optimized BERT Pretraining Approach>中被提出的.此方法 ...