PHP绘制验证码
<?php
//使用PHP绘图技术,画出自己的验证码
$checkCode="";
for($i=0;$i<4;$i++){
//dechex把一个十进制数转换成十六进制
$checkCode.=dechex(rand(1,15));
}
//存入到session
session_start();
$_SESSION['checkcode']=$checkCode;
//创建画布
$image1=imagecreatetruecolor(110,30);
//创建颜色
$white=imagecolorallocate($image1,255,255,255);
//绘制字符
imagestring($image1,rand(1,5),rand(0,80),rand(0,20),$checkCode,$white);
//画出干扰线
//创建干扰线随机颜色
for($i=0;$i<20;$i++){
$randomColor=imagecolorallocate($image1,rand(0,255),rand(0,255),rand(0,255));
imageline($image1,rand(0,110),rand(0,30),rand(0,110),rand(0,30),$randomColor);
}
//输出
header("content-type:image/png");
imagepng($image1);
//销毁图片
imagedestroy($image1);
?>
图片形式是这样的
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; ...
- canvas 绘制验证码
注意: 真正项目中验证码图片都是由服务器端(PHP.JSP.Node.js)技术来生成. 最终效果: 代码: <!DOCTYPE html> <html> <head l ...
- GDI+ 实例:绘制验证码
一.概述 一般处理程序 ashx :它没有服务器控件,用response输出什么就是什么. 生成验证码原理:产生随机字符,并将字符生成为图片,同时储存到Session里去,然后验证用户输入的内容是否与 ...
随机推荐
- 浏览器根对象window之值为数值的属性
1. number属性 1.1 length length 属性返回在当前窗口中frames的数量(包括IFRAMES). 该属性值与window.frames.length属性值相等. 1.2 in ...
- Google APAC----Africa 2010, Qualification Round(Problem B. Reverse Words)----Perl 解法
原题地址链接:https://code.google.com/codejam/contest/351101/dashboard#s=p1 问题描述: Problem Given a list of s ...
- IEC_62304_CheckList
IEC 62304 Reference Software Lifecycle Process Applicable for Class A Class B Class C PRIMARY LIFECY ...
- Ubuntu下搭建Hbase单机版并实现Java API访问
工具:Ubuntu12.04 .Eclipse.Java.Hbase 1.在Ubuntu上安装Eclipse,可以在Ubuntu的软件中心直接安装,也可以通过命令安装,第一次安装失败了,又试了一次,开 ...
- C#实现字符串相似度算法
字符串的相似性比较应用场合很多,像拼写纠错.文本去重.上下文相似性等. 评价字符串相似度最常见的办法就是: 把一个字符串通过插入.删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这 ...
- python的逻辑运算符
函数就是特殊的变量(这个变量是不加引号的) 我们 如果直接打印一个函数的名字是直接打印这个函数的内存地址 python的运算符: 首先Python的运算符和其他语言的运算符都是一样的 都有:算数运 ...
- iOS设计模式 - 适配器
iOS设计模式 - 适配器 效果 说明 1. 为了让客户端尽可能的通用,我们使用适配器模式来隔离客户端与外部参数的联系,只让客户端与适配器通信. 2. 本教程实现了适配器模式的类适配器与对象适配器两种 ...
- 问题记录-Get data from file(fonts/arial.ttf) failed, error code is 32
time:2015/04/19 1. 描述:运行cocos的cpp-test例子,结果修改了代码之后提示错误:Get data from file(fonts/arial.ttf) failed, e ...
- C#/Entity Frame Core 使用Linq 进行分页 .Skip() .Take() 的使用方法
一般使用格式为 int pagesize = 分页大小(每一页大小)int pageindex = 第几页(一般这个变量是随循环递增的) 使用方法.Skip(pagesize*pageindex).T ...
- Cinder组件解析
1 Cinder架构图 Cinder是在虚拟机和具体存储设备之间引入了一层“逻辑存储卷”的抽象,Cinder本身并不是一种存储技术,只是提供一个中间的抽象层,Cinder通过调用不同存储后端类型的驱 ...