12306图片验证码效果实现

article/2025/9/10 16:05:51

效果如下:

演示图片

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

核心代码如下在处理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() {//触摸屏幕时,触摸事件产生时,此方法调用@Overridepublic 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://chatgpt.dhexx.cn/article/fLHxw4ld.shtml

相关文章

利用神经网络识别12306验证码—(六)模型应用以及12306实战测试

模型训练好之后,就可以应用于新图片的预测了。比如现在有下面这么一张12306的验证码,预测工作也分为两部分:上半部分的文字预测、下半部分的图片预测,将两部分划分开之后分别加载各自的模型进行预测。 文字预测:需要把…

php实现12306验证码,PHP仿12306图片验证码

生成验证码的demo使用模型model读取图库,有需要对接框架的朋友可以自己修改,如下: # 引入测试的数据库model require_once dirname(__FILE__)./Model.php; # 引入验证码核心类库 require_once dirname(dirname(__FILE__))./vendor/Vif.php; $…

python 爬取12306验证码

一个简单的验证码爬取程序 本文介绍了在Python2.7环境下爬取网站验证码: 思路就是获取验证码对应的url,然后发起requst请求,读取该URL对应的内容,然后写入到一个本地文件,实现一个验证码的保存。大量下载可以把以上程…

利用百度AI平台识别12306验证码

简单的利用百度AI平台做一个12306的验证码识别。 第一步:先进行图片预处理 提取文字部分 import numpy as np#分割文字 def get_img_text(img,offset0):return img[3:22,120offset:177offset]#分割图片 def _get_imgs(img):interval 5length 66img_array np.em…

12306验证码为什么那么变态?都是这项深度学习应用给逼的

导读:12306为什么要设置那么复杂的验证码机制呢?就是因为OCR。 今天聊OCR。 OCR是人工智能、机器学习特别是深度学习,在图像识别方向最为重要的应用之一。OCR全称Optical Chararcter Recogition,中文翻译为光学字符识别&#xff0…

12306验证码的一些思考

12306的验证码长这个样子: 让选择图片.看起来非常完美的图片验证码.比那些简单又没有实用的字母数字验证码组合强太多了.那些字母数字组合直接获取图片光学识别然后填进表单就可以攻破. 我也想实现这样的. 怎么去实现呢? 设计一个简单点的吧. 1.我先收集图片.收集200张.分…

12306 验证码代码分析

验证码是一个很有趣的问题,其目的是谁是一个人或机器输入来区分,这个问题的实质是一个图灵测试(推荐电影《模仿游戏》),验证码是一种简单而有效的验证方法,由CMU在教授2000在有关创建。后来这头牛谁又将收集…

Python——12306图片验证码

本次爬虫,我们来模拟一下12306的验证码验证 本次练习用到的模块: requestsrebase64urllib3 第一步,按F12查看验证码图片的信息: 提取URL:https://kyfw.12306.cn/passport/captcha/captch…

debian安装docker(通用方法)

本教程源于官网教程进行解释官网教程 docker容器是一个可以同时跑青龙(用于挂机脚本)与宝塔(用于便携式部署网站)之类的工具 我安装时在网络上搜索的教程来在部分电脑或者是主机上有时会出错尤其是32位系统的 于是我在疯狂百度总…

Debian安装mysql

Debian 10系统中默认使用了MariaDB,在APT的软件源中并没有mysql。所以,Debian 10 如果要安装mysql,需要下载安装Mysql APT Repository,更新APT Repository 后再使用 apt-get 安装。 设置软件源 点击mysql下载地址,下载…

linux Deploy 安装debian

一 准备工作 1、一台root的魅蓝note6手机,手机root教程需要自己根据机型搜索 2、去 https://github.com/meefik/linuxdeploy/releases下载linux deploy 3、去https://github.com/meefik/busybox/releases 下载BusyBox (安卓平台虚拟机(chroot运行linux的…

Debian10安装

Debian 10.7(buster) 使用bt文件下载 下载链接:https://cdimage.debian.org/debian-cd/current/amd64/bt-dvd/ 这次是在VMware Workstation上安装的,如果是想在实体机上安装的话,需要做个启动盘,就是把ISO文件刻录到USB或DVD上。…

debian安装和基本使用

debian安装和基本使用 由于centos停止更新,改用debian debian下载,官网去下载DVD版本,4g多的体量,包含的软件比较全。 虚拟机安装,如果进入安装界面直接黑屏卡死,要注意是否镜像ISO文件未加挂。手动在虚拟…

Debian10: 系统安装

若非虚拟机安装,需要制作启动U盘,备份好U盘的数据后,使用UltraISO工具或Rufus(http://rufus.ie/)将 debian-10.6.0-amd64-DVD-1.iso文件写入U盘,将此U盘插入服务器,设置服务器从U盘启动即可。 第一步:选择…

安装debian11系统

镜像下载地址:https://gemmei.ftp.acc.umu.se/debian-cd/current/amd64/iso-cd/debian-11.6.0-amd64-netinst.iso 一、选择图形化安装(这里说一下,这里的图形化安装是安装过程是图形化的,并非是选择系统带图形化界面,…

Debian 系统安装,小白教程

大家好,我是橘子。在工作过程中呢遇到了很多问题,踩了很多坑。网上很多都有教程但总是缺胳膊少腿,说了大概但坑似乎依旧存在。从今天开始,我会将自己碰到的一些坑和如何解决的分享给大家。如果你是个大佬,那我的内容对…

最新发布 Debian 系统的详细安装过程

前言 Debian 究竟是什么?有官方详细介绍说明,在此就不过多介绍说明了,只告知官网,可点击查看官网介绍。 管网连接 :Debian -- About Debian https://www.debian.org/intro/about 平台准备 使用 VMware 平台搭建&…

Debian 11 安装,超详细!

安装装备 华为源中下载镜像 https://repo.huaweicloud.com/debian-cd/11.0.0/amd64/iso-cd/ 3A服务器的虚拟机 开始安装 配置虚拟机 直接回车即可,第一次安装的小伙伴可以选择中文版安装,这样方便易懂, 一路继续,配置网络&a…

如何轻松安装 Debian Linux 系统

安装 Debian 的轻松程度依赖于选择什么镜像。 如果你使用 Debain 官网的默认 ISO 镜像,安装 Debian 就比较费劲。你会卡在这种界面,让你从外部可移动介质上安装网络驱动。 对于新用户来说,从默认的 ISO 中安装 Debian 是有问题的 当然你可以…

IOC 是什么

Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键…