当前位置:网站首页>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!
边栏推荐
- (11) Metaclass
- C student management system head to add a student node
- Physical backup issues caused by soft links
- 甘特图来啦,项目管理神器,模板直接用
- ARM Mailbox
- ARM Mailbox
- Industry case | insurance companies of the world's top 500 construction standards can be used to drive the business analysis system
- Matlab画图3
- DAY22:sqli-labs 靶场通关wp(Less01~~Less20)
- Go 微服务开发框架 DMicro 的设计思路
猜你喜欢

LeetCode uses the minimum cost to climb the stairs----dp problem

Regular expression to match a certain string in the middle

The Tanabata copywriting you want has been sorted out for you!

Go 微服务开发框架 DMicro 的设计思路

继承关系下构造方法的访问特点

select 标签自定义样式
![Tencent Cloud [Hiflow] New Era Automation Tool](/img/ac/5c61424f22cd9fed74dcd529fdb6a4.png)
Tencent Cloud [Hiflow] New Era Automation Tool

Compressed storage of special matrices

How OpenGL works

Study Notes-----Left-biased Tree
随机推荐
数据增强Mixup原理与代码解读
VSCode Change Default Terminal how to modify the Default Terminal VSCode
DAY22:sqli-labs 靶场通关wp(Less01~~Less20)
1484. Sell Products by Date
剑指offer专项突击版第20天
leetcode - symmetric binary tree
Matlab drawing 3
[深入研究4G/5G/6G专题-51]: URLLC-16-《3GPP URLLC相关协议、规范、技术原理深度解读》-11-高可靠性技术-2-链路自适应增强(根据无线链路状态动态选择高可靠性MCS)
QStyle平台风格
汉字转拼音
[机缘参悟-60]:《兵者,诡道也》-2-孙子兵法解读
Optimizing the feed flow encountered obstacles, who helped Baidu break the "memory wall"?
nodeJs--encapsulate routing
C学生管理系统 指定位置插入学生节点
2022-08-04: Input: deduplicated array arr, the numbers in it only contain 0~9.limit, a number.Return: The maximum number that can be spelled out with arr if the requirement is smaller than limit.from
(11) Metaclass
How OpenGL works
What should I do if the self-incrementing id of online MySQL is exhausted?
DAY23:命令执行&代码执行漏洞
The 20th day of the special assault version of the sword offer