Android-图片验证码生成
1、为啥要验证码?
图片验证码在网络中使用的是比较普遍的。一般都是用来防止恶意破解密码、刷票、论坛灌水、刷页等。

2、怎样的验证码比较好?

验证码的获取方式无非就两种,一种是后台提供一个接口,返回图片的地址和验证码,然后你去请求验证码再显示出来。另一种是直接的在本地生成验证码。后台提供的话,肯定对前端开发人员来说方便很多,拿到直接使用,而对于用户来说就不怎么好了。一张验证码最少要请求两次网络,如果网络不好,验证码加载就会很慢,如果验证码看不清,那就再加载一次,那就呵呵了,所以,本地实现虽然相对来说略显麻烦,但好处是比较明显的,除非项目紧急,让后台那边生成。除此以外还是前端生成比较靠谱。 生成验证码的步骤
1、既然要画,肯定要画布canvas和画笔paint。
2、底色,背景,根据需要可以对验证码的背景颜色进行不同的绘制,这里采用灰色
3、画验证码,这步就比较复杂了,画Text在Android中是这样的,drawText()方法中传进去的X、Y的坐标指的是字的左下角的坐标,也就是说,如果画A,那么坐标点是A的左下角,但画g,那就是g的上半部分圆的左下角。不满足的还可以加点料,画倾斜的验证码。
如下图所示(红线交叉点):不明白的可以参考这里

4、验证码画完就画干扰线和干扰点。
<这里需要注意的是:画字母的时候,要注意顺序,不然如果你画的是ABCD,结果画出来是ACDB,这样,验证码就没意义了。>
基本上画验证码的步骤就是上面几个了。 完整的项目代码:
代码里面注释比较详细了,这里就不再解释。看完基本都懂。这个实例代码只有干扰线,而没有画干扰点了,需要完善的可以自己加上去,还有对于字体,还可以来个倾斜等,各位自己完善吧,此栗子仅供参考! 改如何使用?
上一句红底的是获取验证码图片。下面的那句是获取验证码。
我这里取的都是默认值,如果你要自己设置宽高,字体颜色等就要先获取CaptchaImageUtil对象,然后再设置,最后才是调用createCodeImage(),如果先创建后设置的话,用脚趾甲想想都可以明白这样是无效的。如果刷新验证码,就直接调用createCodeImage()即可。
最后看看效果图:
end
2016-10-25

Android-简单的图片验证码的更多相关文章

  1. 一般处理程序生成简单的图片验证码并通过html验证用户输入的验证码是否正确

    一般处理程序生成简单的图片验证码并通过html验证用户输入的验证码是否正确       最近没事研究了下验证码的的动态生成及通过cookie实现HTML页面对用户输入的验证码的校验,简要如下: 1.写 ...

  2. 用Java制作一个简单的图片验证码

    //Java实现简单验证码功能 package project; import java.awt.Color; import java.awt.Font;import java.awt.Graphic ...

  3. Android 简单介绍图片压缩和图片内存缓存

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9316683 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工, ...

  4. Android 简单的图片缩放方法

    很简单的一个图片缩放方法,注意要比例设置正确否则可能会内存溢出 相关问题 java.lang.IllegalArgumentException: bitmap size exceeds 32bits ...

  5. Android -- 简单的图片浏览器

    1. 效果图

  6. android图片验证码--自绘控件

    自绘控件的内容都是自己绘制出来的 大致流程如下: 1.定义一个类继承view 使用TypedArray初始化属性集合 在view的构造方法中 有一个AttributeSet的参数 很明显是用来保存控件 ...

  7. 开发工具类API调用的代码示例合集:六位图片验证码生成、四位图片验证码生成、简单验证码识别等

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

  8. Python 实现简单图片验证码登录

    朋友说公司要在测试环境做接口测试,登录时需要传入正确的图片的验证码,本着懒省事的原则,推荐他把测试环境的图片验证码写死,我们公司也是这么做的^_^.劝说无果/(ㄒoㄒ)/~~,只能通过 OCR 技术来 ...

  9. Android Demo手机获取验证码

    注册很多app或者网络账户的时候,经常需要手机获取验证码,来完成注册,那时年少,只是觉得手机获取验证码这件事儿很好玩,并没有关心太多,她是如何实现的,以及她背后的故事到底是什么样子的,现在小编接手的这 ...

  10. 字符型图片验证码识别完整过程及Python实现

    字符型图片验证码识别完整过程及Python实现 1   摘要 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越 ...

随机推荐

  1. 如何使用android百度地图离线地图

    1.首先把离线地图放在android工程下的assets里面. 注意:建议离线地图下载通过百度地图APIDEMO去下载,因为到官网上下载的离线地图文件格式不一样,APIDEMO的格式是.dat,而官网 ...

  2. c#比较两个List相等

    1.if(ListA.Count == ListB.Count && ListA.Count(t => !ListB.Contains(c)) == 0) 数量相等,元素值相等即 ...

  3. js获取cookie中存储的值

    最近看了试卷题目发现自己会的十分的匮乏, 第一题就把自己难住了,知道有这个东西,但是实际上没有操作过. ========================================= cookie ...

  4. ITree诞生啦!

    经过一个月的码码码,一个面向OIer的ITree终于来辣! ... (似乎把OI遗弃在了某个角落了........... 一个月里,从只会py到写出ITree,真是不容易呢(其实就是两个多礼拜而已= ...

  5. 弱省互测#0 t1

    题意 给一个\(N \times M\)的01网格,1不能走,从起点\((1, 1)\)走到\((N, M)\),每次只能向下或向右走一格,问两条不相交的路径的方案数.(n, m<=1000) ...

  6. 命名困惑系列之一:关于state和status的粗浅研究

    牛津高阶词汇的解释 state: CONDITION OF SB/STH  状态:the mental,emotional or physical condition that a person or ...

  7. 腾讯网2016回响中国:华清远见荣获2016年度知名IT培训品牌

    12月1日,由腾讯网主办的“2016回响中国·腾讯网教育年度盛典”上,揭晓了“2016腾讯网教育年度总评榜”榜单.高端IT就业培训专家——华清远见教育集团凭借自身优质的高薪IT就业服务优势成功入围,荣 ...

  8. 关于react native

    刚开始学习react native,有很多的不懂,记录一些小知识,也许下一个项目可能用到,活到老学到老........ http://www.lcode.org/react-native-viewpa ...

  9. 关于ajax为什么会返回php整个源码

    ajax 程序:返回的是php文件输出的代码. 1. 注意:如果你的php文件包含了html代码或者说是输出了HTML代码,它都会返回给 AJAX. 2. 注意:是整个php文件.这意味着如果你的aj ...

  10. goEasy消息推送,pushlet 向特写用户实时推送

    goEasy 1先去goEasy官网注册goeasy.io,并创建application,得到superKey 2引入js <script type="text/javascript& ...