文本生成二维码图片小工具

许多实用脚本和封装函数, 可以让您编写脚本更加便捷高效

Moderators: tmplinshi, arcticir

User avatar
amnesiac
Posts: 186
Joined: 22 Nov 2013, 03:08
Location: Egret Island, China
Contact:

文本生成二维码图片小工具

13 Jan 2015, 21:24

在10月份时还仅仅注意到新闻中提到二维码,不过没什么概念,但11月份却感觉已遍地都是,网上自不用说,许多店铺里(主要是微信号)、各处的广告都有二维码,真是“忽如一夜春风来,千树万树黎花开”的感觉。
利用外部函数
本工具作者是VimDesktop群的Array,在脚本中调用quricol32.dll中的函数生成二维码。
GenQR.7z
包含脚本和quricol32.dll文件。
(100.62 KiB) Downloaded 709 times
这里单独列出代码供参考:

Code: Select all

#SingleInstance, Force
#NoTrayIcon
SetBatchLines, -1
GUI,GQR:Add,Edit,x10 y10 w500 h400 Limit850
GUI,GQR:Add,Button,x10  y420 w90 h30 gClip,打开剪切板(&V)
GUI,GQR:Add,Button,x320 y420 w90 h30 gSTART,生成二维码(&G)
GUI,GQR:Add,Button,x420 y420 w90 h30 gGQRGUIClose,关闭(&C)
GUI,GQR:Show,w520 h460,GenQR
Return

GQRGUIEscape:
GQRGUIClose:
  ExitApp
return

Clip:
GUI,GQR:Default
GUIControl,,Edit1,% Substr(Clipboard,1,850)
return

START:
GUI,GQR: Default
GUIControlGet,Test,,Edit1
GUI,pic:Destroy
GUI,pic:Add,Pic,x20 y20 w500 h-1 hwndhimage,% f:=GEN_QR_CODE(Test)
GUI,pic:Add,Text,x20 y542 h24,按Esc取消
GUI,pic:Add,Button,x420 y540 w100 h24 gSaveAs,另存为(&S)
GUI,pic:Show,w540 h580
return

PICGUIEscape:
  GUI,pic:Destroy
return

SaveAs:
  Fileselectfile,nf,s16,,另存为,PNG图片(*.png)
  If not strlen(nf)
    return
  nf := RegExMatch(nf,"i)\.png") ? nf : nf ".png"
  Filecopy,%f%,%nf%,1
return

GEN_QR_CODE(string,file="")
{
  sFile := strlen(file) ? file : A_Temp "\" A_NowUTC ".png"
  DllCall( A_ScriptDir "\quricol32.dll\GeneratePNG","str", sFile , "str", string, "int", 4, "int", 2, "int", 0)
  Return sFile
}
至于功能,例如在电脑上将文本生成二维码,然后用手机扫描后获取文本(无需联网,感谢tmplinshi指正,但微新的扫描功能需联网),虽然有更方便的工具,我想这个工具还是有一定意义的。更妙的功能期待您的发现(例如作为一个组件嵌入到其他强大的应用中)。
纯AHK实现
从实用性考虑,上面的工具基本足够了,不过从学习或兴趣角度看,完全用AHK实现也是个美妙的想法,重要的是有人实现了:
  • BARCODER.ahk库(作者Gio),把文本编码成一维(用于CODE39/CODE ITF)和二维数组(用于QR CODE)的库函数;
  • GDIP.ahk库(作者Tic),生成二维码图像;
具体请参阅:BARCODER - Create 1D and 2D Barcodes

已知问题(来自原贴的介绍和一些用户的介绍):
  • 尚不支持中、日、韩文字;
  • 生成速度较慢;
期待更多的使用反馈。
tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

Re: 文本生成二维码图片小工具

14 Jan 2015, 05:27

不需要联网的。

这里也有一个纯 AHK 实现的二维码生成函数:
BARCODER - Create 1D and 2D Barcodes (QR Code , C39,etc)
http://ahkscript.org/boards/viewtopic.php?f=6&t=5538
User avatar
amnesiac
Posts: 186
Joined: 22 Nov 2013, 03:08
Location: Egret Island, China
Contact:

Re: 文本生成二维码图片小工具

15 Jan 2015, 21:58

tmplinshi wrote:不需要联网的。

这里也有一个纯 AHK 实现的二维码生成函数:
BARCODER - Create 1D and 2D Barcodes (QR Code , C39,etc)
http://ahkscript.org/boards/viewtopic.php?f=6&t=5538
多谢指正。当时随手就发了,没仔细使用,也没到论坛搜索,功课没做到位。

Return to “脚本函数”

Who is online

Users browsing this forum: No registered users and 24 guests