Jquery制作图片验证码实例-canvas 绘制

CSS

.identify-code{
    position: absolute;
    right: 6px;
    top: 50%;
    width: 118px;
    height: 40px;
    margin: -21px 0 0 0;
}

HTML

<span id="code" class="identify-code">
  <canvas class="show-captcha" id="canvas" style="width: 100%; height: 100%;"></canvas>
</span>

JS

/**绘制验证码图片**/
function drawPic() {
    var canvas = document.getElementById("canvas");
    var width = canvas.width;
    var height = canvas.height;
    //获取该canvas的2D绘图环境
    var ctx = canvas.getContext(‘2d‘);
    ctx.textBaseline =‘bottom‘;
    /**绘制背景色**/
    ctx.fillStyle = randomColor(180, 240);
    //颜色若太深可能导致看不清
    ctx.fillRect(0,0,width,height);
    /**绘制文字**/
    var str =‘ABCEFGHJKLMNPQRSTWXY123456789abcefghjklmnpqrstwxy‘;
    var code="";
    //生成四个验证码
    for(var i = 1;i <= 4; i++) {
        var txt = str[randomNum(0,str.length)];
        code=code+txt;
        ctx.fillStyle = randomColor(50,160);
        //随机生成字体颜色
        ctx.font = randomNum(90,110) +‘px SimHei‘;
        //随机生成字体大小
        var x = 10 + i * 50;
        var y = randomNum(100, 135);
        var deg = randomNum(-30, 30);
        //修改坐标原点和旋转角度
        ctx.translate(x, y);
        ctx.rotate(deg * Math.PI /180);
        ctx.fillText(txt,0,0);
        //恢复坐标原点和旋转角度
        ctx.rotate(-deg * Math.PI /180);
        ctx.translate(-x, -y);
    }

    /**绘制干扰线**/
    for(var i=0;i<3;i++) {
        ctx.strokeStyle = randomColor(40, 180);
        ctx.beginPath();
        ctx.moveTo(randomNum(0,width/2), randomNum(0,height/2));
        ctx.lineTo(randomNum(0,width/2), randomNum(0,height));
        ctx.stroke();
    }
    /**绘制干扰点**/
    for(var i=0;i <50;i++) {
        ctx.fillStyle = randomColor(255);
        ctx.beginPath();
        ctx.arc(randomNum(0, width), randomNum(0, height),1,0,2* Math.PI);
        ctx.fill();
    }
    return code;
}
/**生成一个随机数**/
function randomNum(min, max) {
    return Math.floor(Math.random() * (max - min) + min);
}
/**生成一个随机色**/
function randomColor(min, max) {
    var r = randomNum(min, max);
    var g = randomNum(min, max);
    var b= randomNum(min, max);
    return "rgb(" + r + "," + g + "," + b + ")";
}

调用实例

$("#code").unbind(‘click‘).click(function(e){
    e.preventDefault();
    createCode();
});//生成验证码function createCode(){  VerificationCodeErrCount = 0;  randomCode = drawPic();  return randomCode;}
            

原文地址:https://www.cnblogs.com/hualuo-sign/p/10384557.html

时间: 2024-11-05 17:19:07

Jquery制作图片验证码实例-canvas 绘制的相关文章

Python简单的制作图片验证码

-人人可以学Python--这里示范的验证码都是简单的,你也可以把字符扭曲 人人可以学Python.png Python第三方库无比强大,PIL 是python的一个d第三方图片处理模块,我们也可以使用它来生成图片验证码PIL安装命令安装: pip install pillow 下载源码安装:复制地址 :https://github.com/python-pillow/Pillow PIL使用 例子:生成图片,并填充文字 #!/usr/bin/python #-*-coding:utf-8-*-

制作图片验证码

1.引命名空间:using System.Drawing; 2.制作一个小图片.容器: //制作一个长100,高50的画布 Bitmap img = new Bitmap(100,50); //开始在这个画布上绘制: Graphics gg = Graphics.FromImage(img); 3.要画的内容: Random r = new Random(); //验证码的所有内容: string ss = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQ

18款 非常实用 jquery幻灯片图片切换

1.jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动 jquery图片特效制作仿腾讯QQ商城首页banner焦点图片轮播切换效果,带索引按钮控制和左右按钮控制图片切换. 查看演示>>          下载地址 2.jquery图片切换插件制作图片层叠缩放展示效果 jquery图片插件制作图片等比列缩放层叠样式,图片叠加展示.点击层叠最上层的图片依次点击缩放图片层叠缩放切换. 查看演示>> 下载地址 3.jquery图像幻灯片制作大小图片切换滚动展示 jquery图像幻

canvas 绘制验证码

之前用canvas绘制了八卦图, 今天用canvas绘制的验证码, 很多地方都会用到, 记录下来 ,以后可以直接用 用到的方法 矩形 canvas.getContext('2d'); //构建绘图环境 canvas.clearRect(x,y,w,h); //清空之前绘制的矩形,释放空间 canvas.fillStyle='颜色'; //填充颜色 canvas.fillStyle='rgb(r,g,b)'; //填充颜色 canvas.fillRect(x,y,w,h); //绘制矩形 文字 c

添加资源图片,获取图片实例并绘制到窗体

项目右键属性——资源——添加资源展开——添加现有文件 paint方法中: private void Form1_Paint(object sender, PaintEventArgs e) { using (Graphics g = e.Graphics) { g.DrawImage((Image)zhbImgConvert.Properties.Resources.ResourceManager.GetObject("_001"), 10, 70); } } 添加资源图片,获取图片实

CSS3结合jQuery制作的冒泡工具图片提示效果

一款基于CSS3技术的冒泡提示效果,为了演示效果,生成了许多冒泡的提示,实际使用中,可能不需要这么多,结合jQuery和jquery UI共同实现的网页提示特效,挺不错.因CSS不支持IE8及以下低版本,所以请使用IE9.chrome或火狐测试. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transition

jquery实现的图片旋转实例

原文:jquery实现的图片旋转实例 源代码下载地址:http://www.zuidaima.com/share/1550463674600448.htm

jQuery实现的鼠标滑过切换图片代码实例

jQuery实现的鼠标滑过切换图片代码实例:有时候网页需要这样的简单效果,那就是当鼠标滑过默认图片的时候,能够实现图片的切换,可能在实际应用中,往往没有这么简单,不过大家可以自行扩展一下,下面简单介绍一下次效果.html静态代码如下: <body> <img src="images/mayi.jpg" /> </body> jquery切换代码: $(document).ready(function(){ var newImage=new Image

java随机动态生成汉字验证码图片的实例代码分享

原创不易,转载请注明出处:java随机动态生成汉字验证码图片的实例代码分享 代码下载地址:http://www.zuidaima.com/share/1809721113234432.htm 汉字验证码实现原理 将汉字和干扰线生成图片并将汉字保存到session,前台获取每次生成验证码图片并用文本框值和session值比较,功能相对来说还是比较简单的. 效果图,如下: 验证成功后: java随机动态生成汉字验证码图片的实例代码分享