当前位置:网站首页>A small tool to transfer files using QR code - QFileTrans 1.2.0.1
A small tool to transfer files using QR code - QFileTrans 1.2.0.1
2022-08-05 02:46:00 【Xiaotao 29】
Original post address is my love cracking, this account and my love cracking are originally posted asOwned by the same person, so I voted for the original.
Scenarios
This program can use two-dimensional code to transfer files between two completely isolated (no network connection, no bluetooth) devices with monitors and cameras, developed with QT5.15.10, and compiled the 64 version of the pc program at the same timeAnd the 64-bit version of Android program, although the interface is simple, but the function has been tested many times, and there is basically no problem.The sending part does not have high performance requirements, but the receiving part has high requirements on the CPU, and mobile phones with relatively low configuration (test platform: Dimensity 720 memory 8G can be recognized smoothly) cannot be guaranteed to be easy to use.
How to use
The interface operation logic of the two platforms is exactly the same, but the Android version of the program interface has been specially modified for vertical screen devices.
Send
PC version program sending interface
Android version program sending interface
First, click "Select File" to select a file to be sent. Folders and automatic packaging of multiple files are not supported for the time being.
fps refers to the switching speed of sending the QR code. The default is 12. After testing, this frame rate is the boundary of the recognition rate. If the frame rate is higher than this frame rate, the hand shake and camera image quality will have a great impact on the recognition.
The recognition part is automatically cropped to 720 pixel resolution internally. If the camera does not support a mode higher than this resolution, it will automatically select a lower resolution.
After the selection is complete, you can click "Start Sending", align the receiving device with the QR code of the sending device, keep it steady and wait.When the code to be received is less than 100 blocks, the interface will prompt the index of the remaining QR code, which starts from 0.
The progress bar can be adjusted. Drag the progress bar to modify the index of the displayed QR code. When there are not many code blocks left, you can swipe to the code block to speed up the transmission speed.
The two-dimensional code is encoded by clear code, and the intermediate string is the binary information corresponding to the file. The reason why the byte encoding mode of the two-dimensional code is not used is because the program calls the QZXing library, which currently does not support the two-dimensional code.Byte encoding mode.The encoding method may be optimized in the future.This program limits the selected file size to 5MB.
Receive
PC version program receiving interface
Android version program receiving interface
The receiving part is a little more complicated than the sending part. First, you can click the ComboBox below to select the camera you want to use, and then click "Open Camera" to see if it can be opened.There are very few camera encoding formats supported by the QCamera library, and even I manually added the NV21 conversion code to support some mobile phone cameras.If successful, you can click the three buttons "horizontal", "vertical", and "rotate" to adjust the orientation of the camera image. Because my level is limited, I have not studied Android's hardware abstraction layer to automatically adjust the camera orientation. I think manual adjustmentThe difficulty is not that big, and the benefits of adding automatic adjustment are not that big.
If everything above is normal, you can click "Start Receive", and then click Start Sending on the sending device to receive the file.
Because of the use of clear code encoding, the transmission speed is quite slow, almost less than 1KB per second. The main problem solved by this program has been explained at the beginning. It is to solve the problem, even if it cannot be transmitted at all, it can transfer some small files.It is recommended that the transfer file size is less than 40KB, so the time is acceptable.
After the transfer is completed, the file selection interface will pop up automatically. Note that the Android version needs to add the file suffix by itself. If the PC version receives files from the Android version, you also need to manually adjust the file name and suffix.
Additional Instructions
The transmission process has used base64 encoding. Compared with version 1.1.6, the number of QR codes to transmit the same file is about 40% less. Version 1.2.0 and version 1.1.6 are not common!!!!
I have no experience in Android development at all, and I am new to QT. The Android program is compiled entirely with C++ code, and the permission is automatically obtained. After testing, only the camera permission can be used.
The Android version of the program is compiled as 64-bit, and there is no built-in 32-bit version. The reason why the 32-bit version is not compiled is because the program has certain performance requirements.does not compile.
Android Program Information
Android version of the program asks permission
Program Download
Version 1.1.6.2
Note: The sending part supports dragging and dropping files to start;Optimize receiving partial multithreading calls.
Version 1.2.0.1
Description: base64 encoding, Versions 1.1.6 and 1.2.0 are not compatible, don't try!
边栏推荐
- 继承关系下构造方法的访问特点
- 优炫数据库的单节点如何转集群
- C language diary 9 3 kinds of statements of if
- word分栏小记
- DAY23: Command Execution & Code Execution Vulnerability
- (十一)元类
- [In-depth study of 4G/5G/6G topic-51]: URLLC-16-"3GPP URLLC related protocols, specifications, and technical principles in-depth interpretation"-11-High reliability technology-2-Link adaptive enhancem
- 语法基础(变量、输入输出、表达式与顺序语句完成情况)
- 剑指offer专项突击版第20天
- 02 [Development Server Resource Module]
猜你喜欢

数据增强Mixup原理与代码解读

线上MySQL的自增id用尽怎么办?

2022-08-04:输入:去重数组arr,里面的数只包含0~9。limit,一个数字。 返回:要求比limit小的情况下,能够用arr拼出来的最大数字。 来自字节。

02 【开发服务器 资源模块】
ROS通信 —— 服务(Service)通信](/img/4d/4657f24bd7809abb4bdc4b418076f7.png)
[ROS](10)ROS通信 —— 服务(Service)通信

云原生(三十二) | Kubernetes篇之平台存储系统介绍

C language implements a simple number guessing game

OpenGL 工作原理

word column notes

Optimizing the feed flow encountered obstacles, who helped Baidu break the "memory wall"?
随机推荐
1667. 修复表中的名字
继承关系下构造方法的访问特点
Matlab画图3
Access Characteristics of Constructor under Inheritance Relationship
1527. 患某种疾病的患者
Error: Not a signal or slot declaration
The 22-07-31 weeks summary
C学生管理系统 据学号查找学生节点
The Tanabata copywriting you want has been sorted out for you!
使用二维码传输文件的小工具 - QFileTrans 1.2.0.1
Matlab map with color representation module value size arrow
数据增强Mixup原理与代码解读
常见的硬件延迟
J9 Digital Currency: What is the creator economy of web3?
协作D2D局部模型聚合的半分散联合学习
The 20th day of the special assault version of the sword offer
Access Characteristics of Constructor under Inheritance Relationship
RAID磁盘阵列
Pisanix v0.2.0 released | Added support for dynamic read-write separation
链表的简单描述及代码的简单实现