当前位置:网站首页>使用二维码传输文件的小工具 - 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版不通用,请勿尝试!
边栏推荐
- post-study program
- Introduction to SDC
- Opening - Open a new .NET modern application development experience
- Advanced Numbers_Review_Chapter 1: Functions, Limits, Continuity
- Apache DolphinScheduler新一代分布式工作流任务调度平台实战-中
- 注意潍坊开具发票一般需要注意
- C student management system Find student nodes based on student ID
- Lexicon - the maximum depth of a binary tree
- 特殊矩阵的压缩存储
- 采用redis缓存的linux主从同步服务器图片硬盘满了移到新目录要修改哪些指向
猜你喜欢
C language diary 9 3 kinds of statements of if
Gantt chart is here, project management artifact, template is used directly
J9 Digital Currency: What is the creator economy of web3?
Ant Sword Advanced Module Development
2022-08-04:输入:去重数组arr,里面的数只包含0~9。limit,一个数字。 返回:要求比limit小的情况下,能够用arr拼出来的最大数字。 来自字节。
lua学习
Data to enhance Mixup principle and code reading
线性表的查找
链表的简单描述及代码的简单实现
C语言日记 9 if的3种语句
随机推荐
LeetCode使用最小花费爬楼梯----dp问题
Review 51 MCU
Data to enhance Mixup principle and code reading
编译预处理等细节
Quickly learn chess from zero to one
程序员的七夕浪漫时刻
The design idea of DMicro, the Go microservice development framework
shell statement to modify txt file or sh file
DAY22:sqli-labs 靶场通关wp(Less01~~Less20)
Semi-Decentralized Federated Learning for Cooperative D2D Local Model Aggregation
shell语句修改txt文件或者sh文件
Solve connect: The requested address is not valid in its context
开源协议说明LGPL
基于左序遍历的数据存储实践
SDC简介
Amazon Cloud Technology joins hands with Thundersoft to build an AIoT platform for industry customers
Programmer's Tanabata Romantic Moment
海量服务实例动态化管理
DAY23: Command Execution & Code Execution Vulnerability
虚拟内存原理与技术