12306图片验证码效果实现

2023-11-19

效果如下:

演示图片

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

核心代码如下在处理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订票

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

12306图片验证码效果实现 的相关文章

  • 12306登录验证码识别

    最近在研究12306验证码识别 前期的12306查询验证码识别已经上线了 详见http download csdn net download ghost man 10160932的博客 里面的12306查询验证码已经上线了 可以去体验一下
  • python-selenium(webdriver)中的自动截屏并获取验证码的位置

    因为最近在搞一个购票的一个爬虫需要获取当前验证码的位置信息进行打码 因为是用的selenium测试工具所以在网上找了多个资料搞出来的 记录下一成果 encoding utf 8 from PIL import Image from sele
  • 安卓视频播放器——ijkPlayer(Bilibili开源)

    作为一个B站 Bilibili 用户 特别喜欢B站的播放器 凑巧 发现了b站的github的地址 嘿嘿 B站github地址f 发现了ijkplayer播放器 支持android 和ios 我们用AndroidStudio新建project
  • 如何用12306的积分买火车票

    积分买的票是不允许退票的 所以最好自己买票的时候用 积分获取 是根据价格 5 比如我买的是100元的票就可以获得500积分
  • Android RecycleView列表使用GridLayoutManager 均分子项Item,且左右宽度相同

    1 需求描述 列表分为一列两个 两个子项宽度一致 且左右边距一样 就是要好看 子项宽度适配手机 高度适配宽度 2 问题描述 但是我们直接设置的时候 他的子项会在给他的布局的左边 于是我想到了设置下子项的左右边距 但是android手机屏幕太
  • JS生成uuid的四种方法

    在开发过程中 有时候需要js生成全局唯一标识符 在java中可以使用uuid 但是JS中没有现成的函数 总结了一下 JS生成唯一标识符的几种方法 第一种 function guid return xxxxxxxx xxxx 4xxx yxx
  • 非常简单的无闪刷新验证码原理

    非常简单的无闪刷新验证码原理 只有这一段事件触发语句全搞定 nclick this src GifCode asp newDate getTime GifCode asp验证码的图片 事件 nclick this src GifCode a
  • 极限验证,滑动验证-java实现

    先给大家看个图 图中共色框内的验证码 大家应该见过 今天咱们就实现这个插件 其实这个插件是第三方服务的 极限验证码 官网 http www geetest com 官网有文档还有教程 大家可以自己看 我也是运行官方的源码 1 在官网 htt
  • 微信小程序 短信验证 功能的实现(附案例代码/前后端/直接用)

    模块效果展示 小程序界面 实现的功能 小程序端 请求获取短信验证码 两次请求之间间隔至少一分钟 填写必填内容后 才能提交表单 手机号合法性检验 后台 接前台请求后 通过阿里云发送短信 生成随机数字验证码 默认6位 收到提交的表单后 对验证码
  • vue使用element发送手机验证码倒计时

    发送验证码倒计时 html
  • Android屏幕适配全攻略(最权威的官方适配指导)

    转载请注明出处 http blog csdn net zhaokaiqiang1992 Android的屏幕适配一直以来都在折磨着我们这些开发者 本篇文章以Google的官方文档为基础 全面而深入的讲解了Android屏幕适配的原因 重要概
  • Android 初级到高级 进阶

    高级Android学习 Android学习路线指南 singwhatiwanna的博客 CSDN博客
  • Android系统裁剪:手把手教你如何进行系统裁剪

    内容有点长 想系统裁剪 这篇文章足矣 看完会对系统裁剪及系统有更深的认识 前言 android系统裁剪优化一直是各个厂商定制产品的关键步骤 包括浅层次的去除不必要的apk android apk裁剪定制 和深层次的裁剪整个编译系统和框架层
  • systemui

    一 SystemUI 概述 二 模块基本布局 三 模块内部框架 四 模块流程 五 重要文件的介绍 一 SystemUI 概述 1 Statusbar 的功能作用 1 1 状态栏的通知功能 包括时间 通知 系统状态等 1 2 状态栏的日期显示
  • 仿微信底部菜单栏(ViewPager+ImagerView+TextView)

    前言 在市面上 大多数的APP都需要通过底部菜单栏来将程序的功能进行分类整理 通常都是分为3 5个大模块 从而正确有效地引导用户去使用我们的APP 实现底部菜单栏的方法也有很多种 1 仿微信底部菜单栏 ViewPager ImagerVie
  • springboot图片验证码

    前言 大家好 我是小小 今天我们用五分钟来用springboot实现我们常用的图形验证码功能模块 用户登录几乎是一个线上系统必不可少且使用相对比较频繁的一个模块 为了防止恶意暴力尝试 防止洪水攻击 防止脚本自动提交等 验证码是一个较为便捷且
  • 12306验证码具体坐标

    如图 整张图片的大小是 293 190 单位 像素 包括下述 锦旗二字相对大图的范围是 117 0 258 29 长 141 宽 29 第一排第一张小图片的范围是 5 41 72 108 长 67 宽 67 间距都是5px 第二排第一张小图
  • Springboot2(23)轻松整合shiro(带验证码)

    源码地址 springboot2教程系列 Shiro配置 1 Spring集成Shiro一般通过xml配置 SpringBoot集成Shiro一般通过java代码配合 Configuration和 Bean配置 2 Shiro的核心通过过滤
  • 12306验证码识别 --- 2017-12

    1 附件中包含12306查询验证码识别客户端和所需要测试的样本图片 2 模型正确率95 以上 3 操作方式 3 1 解压里面的Client zip 找到里面的user client exe可执行文件 3 2 点击里面的browse按钮进行选
  • 干货丨RPA内网验证码识别技巧

    通常在一些网络安全等级比较高的大型客户里面 如银行 政府等 RPA的实现流程基本都是内网环境 没办法使用外网 那么这个时候针对一些客户端或者网银登录的字符型验证码识别 没办法通过UiBot调用公网环境中的OCR组件进行识别 或者使用需要外网

随机推荐