可用于生成二维码,并可用CV2库中的QRCode模块解析。
有两种使用方法:
1.三个参数分别表示文件名,内容,输出文件格式
2.六个参数分别表示文件名,内容,边距,大小,类型,输出文件格式
其中边距默认为4,大小默认20×20,类型默认为0,输出格式默认为PNG
依赖文件
QRCode库
mono
复制
源码
; Author: Mono
; Version: 0.0.1
; Time: 2022.09.05
; Reference: https://github.com/perevoznyk/quricol
; 注意配置的quricol64.dll位置
Try
{
if !DllCall("LoadLibrary", "Str", "quricol64.dll")
{
MsgBox("Load Failed", , 48)
ExitApp -1
}
}
Catch
{
MsgBox("Not Found quricol64.dll", , 48)
ExitApp -1
}
Class QRCode
{
; 生成支持PNG和BMP
Static Generate(fileName, text, margin := 4, size := 20, level := 0, fileType := "PNG")
{
if margin is String
{
fileType := margin
margin := 4
}
DllCall("quricol64.dll\Generate" fileType, "Str", fileName , "Str", text, "Int", margin, "Int", size, "Int", level)
if FileExist(fileName)
Return 1
Return 0
}
}
测试代码
QRCode.Generate("1.bmp", "hello", "BMP")
QRCode.Generate("1.png", "hello", "PNG")
检验代码
#include cv2.ahk
; 需要引入我的CV2库
img := cv2.imread("1.bmp")
qrcode := cv2.QRCodeDetector()
MsgBox qrcode.detectAndDecode(img)[1]
img := cv2.imread("1.png")
qrcode := cv2.QRCodeDetector()
MsgBox qrcode.detectAndDecode(img)[1]