Android-图片验证码生成1、为啥要验证码?图片验证码在网络中使用的是比较普遍的。一般都是用来防止恶意破解密码、刷票、论坛灌水、刷页等。2、怎样的验证码比较好?验证码的获取方式无非就两种,一种是后台提供一个接口,返回图片的地址和验证码,然后你去请求验证码再显示出来。另一种是直接的在本地生成验证码。后台提供的话,肯定对前端开发人员来说方便很多,拿到直接使用,而对于用户来说就不怎么好了。一张验证码最少要请求两次网络,如果网络不好,验证码加载就会很慢,如果验证码看不清,那就再加载一次,那就呵呵了,所以,本地实现虽然相对来说略显麻烦,但好处是比较明显的,除非项目紧急,让后台那边生成。除此以外还是前端生成比较靠谱。

生成验证码的步骤1、既然要画,肯定要画布canvas和画笔paint。2、底色,背景,根据需要可以对验证码的背景颜色进行不同的绘制,这里采用灰色3、画验证码,这步就比较复杂了,画Text在Android中是这样的,drawText()方法中传进去的X、Y的坐标指的是字的左下角的坐标,也就是说,如果画A,那么坐标点是A的左下角,但画g,那就是g的上半部分圆的左下角。不满足的还可以加点料,画倾斜的验证码。如下图所示(红线交叉点):不明白的可以参考这里

4、验证码画完就画干扰线和干扰点。<这里需要注意的是:画字母的时候,要注意顺序,不然如果你画的是ABCD,结果画出来是ACDB,这样,验证码就没意义了。>基本上画验证码的步骤就是上面几个了。

完整的项目代码:

代码里面注释比较详细了,这里就不再解释。看完基本都懂。这个实例代码只有干扰线,而没有画干扰点了,需要完善的可以自己加上去,还有对于字体,还可以来个倾斜等,各位自己完善吧,此栗子仅供参考!

改如何使用?
上一句红底的是获取验证码图片。下面的那句是获取验证码。我这里取的都是默认值,如果你要自己设置宽高,字体颜色等就要先获取CaptchaImageUtil对象,然后再设置,最后才是调用createCodeImage(),如果先创建后设置的话,用脚趾甲想想都可以明白这样是无效的。如果刷新验证码,就直接调用createCodeImage()即可。
最后看看效果图:

end2016-10-25

转载于:https://www.cnblogs.com/fwling/p/5995713.html

Android-简单的图片验证码相关推荐

  1. php设计验证码图片,php实现简单的图片验证码

    这是最简单的图片验证码: image.php header("Content-type: image/png"); $string = "abcdefghijklmnop ...

  2. Android生成简单的图片验证码

    暑假的班级项目登录界面用到了验证码,就想着简单点弄个图片验证码好了.看了几篇文章还是有点儿懵.然后耐着性子把一篇关于验证码的文章分析了一下.果然还是得有耐心才行啊. ╰( ̄ω ̄o) 虽然大致是做出来了 ...

  3. Android 登陆页面 图片验证码

    话不多说,先上图片: 其中包括了验证码和账号密码验证简单的登陆界面.要想实现这个功能,博主可是花费了一番功夫,今天把经验分享出来,跟大家分享,第一次写博客,后面我也会把我近期Android的一些项目贴 ...

  4. android 图片查看源码,Android 简单的图片查看器源码

    public class MainActivity extends Activity { private EditText et_path; private ImageView iv; //创建han ...

  5. 用JS实现简单的图片验证码

    文章目录 HTML主要代码 JS 代码 HTML主要代码 JS 代码 先准备数字0-9的十张图片 let n, img = "", s = "" const a ...

  6. php 简单图片验证码,PHP 实现简单图片验证码

    验证码是网站会员系统中不可缺少的,目前验证码有很多种,但用的比较多的还是图片验证码,这里就用面向对象的方式来简单实现图片验证码, 注意!我这里使用的是 PHP 的 gd 库,如果要查看是否启用了 gd ...

  7. Shiro安全框架(Shiro与SpringBoot整合开发)之图片验证码(五)

    这篇博文主要讲解实现图片验证码的实现,之前已经将权限,认证,自带缓存,redis缓存,都实现了,现在我们就来了解一下简单的图片验证码的实现: 首先,我们要来修改一下登录的页面,login.jsp这个页 ...

  8. 图片验证码反爬解决思路

    自打有爬虫以来,爬虫与验证码的战斗就一直在进行着.下面是我处理简单验证码的一点心得: 一.登录验证码: 很多网站采取登录用户名+密码+图片验证码的方式进行登录.对于简单的图片验证码可以采用ocr光学标 ...

  9. 仿12306验证码 java_仿12306的图片验证码

    由于要做一个新项目,所以打算做一个简单的图片验证码. 先说说思路吧:在服务端,从一个文件夹里面找出8张图片,再把8张图片合并成一张大图,在8个小图里面随机生成一个要用户验证的图片分类,如小狗.啤酒等. ...

  10. eoLinker-API_Shop_验证码识别与生成类API调用的代码示例合集:六位图片验证码生成、四位图片验证码生成、简单验证码识别等...

    以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 六位图片验证码生成:包括纯数字.小写字母.大写字母.大小写混合.数 ...

最新文章

  1. 不能精准定位bug?可能是你没get到这几个打印日志的诀窍!
  2. 005-Python之列表,元组,字符串,bytes及bytearray共有操作
  3. linq to sql初步
  4. EJB2.0版本的HelloWorld
  5. laravel的工厂模式数据填充:
  6. Qt全局热键(windows篇)
  7. mysql维护索引_高性能的MySQL(5)索引策略-索引和表的维护
  8. LAMP(三)之CentOS6编译安装httpd2.4
  9. 北风设计模式课程---里氏替换原则(Liskov Substitution Principle)
  10. Bootstrap 流式布局
  11. eclipse-阶段三-Server被关闭后消失,如何打开
  12. PowerPoint 蜜蜂跳“8”字舞实例
  13. 商务高端、CPU要求高-笔记本选型
  14. 收藏!数据分析、人工智能、产品经理等6个方向学习路线图及参考书目
  15. 如何利用各大博客引流
  16. 一位 Google 大佬的辞职感言..
  17. Protocol Buffer编译器安装
  18. 2016年全球超级计算机榜首是,中国神威·太湖之光荣登全球超级计算机500强榜首...
  19. 【R语言】如何进行英文分词统计(以《爱丽丝漫游奇境》词频统计为例)(20年3月22日复习笔记)
  20. SAP库存--历史库存相关数据,以及库存变化对应表的数据变化,可以用于库龄分析报表逻辑设计。

热门文章

  1. selenium上传文件方法
  2. 紫皮java_java如果已知一个日期为2007/3/8,求10天后是哪一天,367天后呢
  3. java文件名命名的规则,Java文件名及其他命名规则
  4. php 手写签批 手机办公_手写签批 打造无纸化办公的完美替代
  5. java p=x,Java-Tutorial/20、javac和javap.md at master · allenchenx/Java-Tutorial · GitHub
  6. mysql 去重计算公式_mysql多字段去重,并计数
  7. android 返回图标布局,Android 开发BottomNavigationView学习
  8. 24点游戏python编程代码和运行结果_编程实现24点游戏,我发现自己总是输是有原因的...
  9. 硬编码与非硬编码(软编码)区别
  10. 安卓学习笔记27:共享参数