当前位置:网站首页>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!
边栏推荐
猜你喜欢
![[LeetCode Brush Questions] - Sum of Numbers topic (more topics to be added)](/img/ee/6b52072c841af99488dc0c1141c74c.png)
[LeetCode Brush Questions] - Sum of Numbers topic (more topics to be added)

正则表达式,匹配中间的某一段字符串
![[Decryption] Can the NFTs created by OpenSea for free appear in my wallet without being chained?](/img/81/2dcb61fd6c30f726804c73cf2b3384.jpg)
[Decryption] Can the NFTs created by OpenSea for free appear in my wallet without being chained?

Regular expression to match a certain string in the middle

Common hardware delays

DAY22: sqli-labs shooting range clearance wp (Less01~~Less20)

leetcode 15

【OpenCV 图像处理2】:OpenCV 基础知识

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

mysql can't Execute, please solve it
随机推荐
百日刷题计划 ———— DAY2
The 20th day of the special assault version of the sword offer
Pisanix v0.2.0 发布|新增动态读写分离支持
链表的简单描述及代码的简单实现
DAY22: sqli-labs shooting range clearance wp (Less01~~Less20)
后期学习计划
word column notes
Error: Not a signal or slot declaration
DAY23: Command Execution & Code Execution Vulnerability
leetcode - a subtree of another tree
C语言日记 9 if的3种语句
select tag custom style
Data storage practice based on left-order traversal
【OpenCV 图像处理2】:OpenCV 基础知识
C student management system head to add a student node
QT MV\MVC结构
人人都在说的数据中台,你需要关注的核心特点是什么?
1484. 按日期分组销售产品
Regular expression to match a certain string in the middle
undo问题