12306图片验证码效果实现

原创 2016年08月31日 15:53:37

效果如下:

演示图片

原理:从服务器获取的图片上,我们画上自己的图片,然后再显示出来。

核心代码如下在处理imageview点击事件前做如下操作:

   Bitmap bitmap = BitmapFactory.decodeResource(getResources(),  R.mipmap.yanzheng);//获取背景图片bitmap对象
Bitmap bm3 = BitmapFactory.decodeResource(getResources(),  R.mipmap.yanzheng);//获取我们要画上的图片的bitmap对象
Bitmap bmCopy = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());//复制背景bitmap
paint = new Paint();
 canvas = new Canvas(bmCopy);
canvas.drawBitmap(bitmap, new Matrix(), paint);//画下源背景bitmap
img.setImageBitmap(bmCopy);//为imageview设置图片即背景图片的副本

下面我们要处理imageview的点击事件,使其能够在点击的时候,在上面画上一个我们的图标:

   img.setOnTouchListener(new View.OnTouchListener() {

        //触摸屏幕时,触摸事件产生时,此方法调用
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            int action = event.getAction();
            switch (action) {
                //用户手指摸到屏幕
             case MotionEvent.ACTION_DOWN:
                    startX = (int) event.getX();
                    startY = (int) event.getY();//得到触摸时的坐标
                    break;
                //用户手指正在滑动
             case MotionEvent.ACTION_MOVE:
             case MotionEvent.ACTION_UP:
             //手指离开时画图
                    canvas.drawBitmap(bm3, startX, startY, paint);
                    img.setImageBitmap(bmCopy);//为image设置图片
                    break;

            }
            //true:告诉系统,这个触摸事件由我来处理
            //false:告诉系统,这个触摸事件我不处理,这时系统会把触摸事件传递给imageview的父节点
            return true;
        }
    });

源码如下,请看第3次提交:app订票

版权声明:本文为博主原创文章,转载时请著名出处:http://blog.csdn.net/dg_summer

Java 识别图片验证码

Java 识别图片验证码 Ocr.setUp(); // one time setup Ocr ocr = new Ocr(); // create a new OCR engine ocr....
  • bobo0915
  • bobo0915
  • 2016年09月28日 18:39
  • 15374

12306验证码JAVA DEMO

  • 2016年07月19日 14:25
  • 11KB
  • 下载

12306登录图形验证码识别-基于深度学习

  • 2018年01月10日 22:29
  • 14.67MB
  • 下载

12306验证码识别 --- 2017-12

1. 附件中包含12306查询验证码识别客户端和所需要测试的样本图片; 2. 模型正确率95%以上; 3. 操作方式: 3.1 解压里面的Client.zip,找到里面的user_client....
  • ghost_man_
  • ghost_man_
  • 2017年12月15日 22:47
  • 834

从12306谈起验证码的架构

验证码库,应该采用那种数据结构?Mysql还是其他的数据结构。在这里,可以尝试采用Redis的list结构来当作消息队列来使用或者其他的可用的消息队列。需要获取验证码时,从消息队列中Pop出一个值即可...
  • jiang1013nan
  • jiang1013nan
  • 2014年01月14日 22:58
  • 17605

在图片上面添加一个图片,实现12306验证码的选择并获取相关坐标的功能

先看一下布局吧                                 然后是布局代码 ...
  • ch_jcak
  • ch_jcak
  • 2015年12月20日 20:31
  • 1183

12306网站抢票机制攻与防

12306网站已经开通的几年了,
  • mansai
  • mansai
  • 2014年05月12日 13:45
  • 2242

不规整的验证码图片切割字符

package com.eduask.luck.validate; import java.awt.Color; import java.awt.image.BufferedImage; i...
  • one_isi_all
  • one_isi_all
  • 2015年09月22日 17:54
  • 879

android仿12306图片验证码选择——自定义控件

安卓自定义控件——图片选择器大家好,最近公司的项目需求,顺手撸了一个自定义控件,顺便和大家分享一下。 (白心为选中状态) 可以自定义行的数量与列的数量,会根据传值自适应 可以配合volley完成网络...
  • yehaojiett
  • yehaojiett
  • 2016年01月22日 13:01
  • 861

分享12306全自动验证码识别提交,春运抢票准备时

插件说明 下载:http://pan.baidu.com/s/1pJ1CgLd目前只支持Chrome较高版本可以结合以前文章”分享12306秒票心得及杀手锏“参考文章1:百度”360抢票王验证码...
  • tuna_lxg
  • tuna_lxg
  • 2014年12月09日 15:30
  • 1577
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:12306图片验证码效果实现
举报原因:
原因补充:

(最多只允许输入30个字)