当前位置:网站首页>使用二维码传输文件的小工具 - QFileTrans 1.2.0.1
使用二维码传输文件的小工具 - QFileTrans 1.2.0.1
2022-08-05 02:44:00 【小涛29】
原帖地址为吾爱破解,本账号与吾爱破解原贴为同一人所有,故投了原创。
使用场景
本程序可以使用二维码在两台完全隔离(没有网络连接,没有蓝牙)的、有显示器和摄像头的设备之间传输文件,使用QT5.15.10开发,同时编译了pc的64版程序和安卓的64位版程序,界面虽然简陋,但功能经我多次测试,基本没有问题。发送部分对性能要求不高,但接收部分对cpu有很高的要求,配置比较低(测试平台:天玑720内存8G可流畅识别)的手机不能保证好用。
使用方法
两个平台的界面操作逻辑完全一致,但是安卓版程序界面针对竖屏设备专门修改了。
发送
pc版程序发送界面
安卓版程序发送界面
首先要点击“选择文件”,选择一个需要发送的文件,暂时不支持文件夹、自动打包多个文件。
fps是指发送二维码的切换速度,默认为12,经测试这个帧率是识别率的边界,大于这个帧率的话手抖和摄像头图像质量对识别的影响非常大。
识别部分在内部自动裁切为720像素分辨率,若摄像头不支持高于该分辨率的模式则自动选择低分辨率。
选择完成后可以点击“开始发送”,将接收设备对准发送设备的二维码保持收稳住等待即可。在待接收码小于100块时界面会提示剩余二维码的索引,该索引从0开始。
进度条可以调节,拖动进度条可以修改显示二维码的索引,剩下码块不多的时候可以针对性地滑动到该码块处加快传输速度。
二维码编码采用明码编码,中间字符串为文件对应二进制信息,之所以没有采用二维码的字节编码模式是因为本程序调用了QZXing这个库,这个库目前不支持二维码字节编码模式。后续可能会优化编码方式。本程序限制选择文件大小不能超过5MB。
接收
pc版程序接收界面
安卓版程序接收界面
接收部分相对发送部分稍微复杂一点,首先可以点击下方ComboBox选择需要使用的摄像头,然后点击“打开相机”,尝试能否打开,若打不开,建议不用试了,因为本程序使用的QCamera库支持的摄像头编码格式非常少,甚至我还手工添加了NV21的转换代码以支持部分手机摄像头。若成功,可以点击“水平”、”垂直“、”旋转“这三个按键调整摄像头图像的方向,因为本人水平有限,暂时没有研究安卓的硬件抽象层以自动调整摄像头方向,我认为手工调整的难度并没有那么大,加入自动调整的收益没有那么大。
如果上面一切正常,可以点击“开始接收”,再点击发送设备上的开始发送即可接收文件了。
因为采用明码编码,传输速度相当慢,差不多是1秒1KB不到,本程序主要解决的问题在开头已经说明了,是解决有无问题,即使完全无法传输变为可以传输一些小文件。建议传输文件大小小于40KB,这样时间还算可以接受。
传输完成后会自动弹出选择文件界面,注意安卓版需要自己添加文件后缀,pc版如果接收安卓版的文件也需要手工调整文件名和后缀。
其他说明
传输过程已使用base64编码,相较1.1.6版传输相同文件的二维码张数少40%左右,1.2.0版和1.1.6版不通用!!!!
本人完全没有安卓开发经验,QT也是新学的,安卓程序完全使用C++代码编译,权限为自动索取,经测试,只赋予摄像头权限即可使用。
安卓版程序编译为64位,没有内置32位,之所以没有编译32位版是因为本程序对性能有一定要求,我认为32位的处理器大概率带不动本程序,所以直接没有编译。
安卓版程序信息
安卓版程序索要权限
程序下载
1.1.6.2版
说明:发送部分支持拖拽文件开始;优化接收部分多线程调用。
1.2.0.1版
说明:采用base64编码,1.1.6版和1.2.0版不通用,请勿尝试!
边栏推荐
- Simple implementation of YOLOv7 pre-training model deployment based on OpenVINO toolkit
- DAY22:sqli-labs 靶场通关wp(Less01~~Less20)
- 【OpenCV 图像处理2】:OpenCV 基础知识
- leetcode - a subtree of another tree
- 线性表的查找
- 解决connect: The requested address is not valid in its context
- Access Characteristics of Constructor under Inheritance Relationship
- Go 微服务开发框架 DMicro 的设计思路
- HDU 1114: Piggy-Bank ← The Complete Knapsack Problem
- undo问题
猜你喜欢

nodeJs--encapsulate routing

甘特图来啦,项目管理神器,模板直接用

Advanced Numbers_Review_Chapter 1: Functions, Limits, Continuity

mysql没法Execute 大拿们求解

OpenGL 工作原理

虚拟内存原理与技术

Common hardware delays
![[C language] Detailed explanation of stacks and queues (define, destroy, and data operations)](/img/7b/8b3f1e4f0000aa34fc1f8fff485765.png)
[C language] Detailed explanation of stacks and queues (define, destroy, and data operations)

DAY23: Command Execution & Code Execution Vulnerability

Simple implementation of YOLOv7 pre-training model deployment based on OpenVINO toolkit
随机推荐
Pisanix v0.2.0 发布|新增动态读写分离支持
继承关系下构造方法的访问特点
Apache DolphinScheduler, a new generation of distributed workflow task scheduling platform in practice - Medium
The 2022 EdgeX China Challenge will be grandly opened on August 3
nodeJs--封装路由
Images using redis cache Linux master-slave synchronization server hard drive full of moved to the new directory which points to be modified
mysql树状结构查询问题
2022了你还不会『低代码』?数据科学也能玩转Low-Code啦!
金仓数据库如何验证安装文件平台正确性
C学生管理系统 指定位置插入学生节点
云原生(三十二) | Kubernetes篇之平台存储系统介绍
The 22-07-31 weeks summary
C student management system Find student nodes based on student ID
编译预处理等细节
shell statement to modify txt file or sh file
1527. Patients suffering from a disease
627. 变更性别
post-study program
leetcode - a subtree of another tree
C语言实现简单猜数字游戏