使用python調(diào)用zxing庫生成二維碼圖片詳解
(1)安裝Jpype
用Python調(diào)用jar包需要安裝jpype擴展,在Ubuntu上可以直接使用apt-get安裝jpype擴展
$ sudo apt-get install python-jpype
(2) 得到zxing jar包
使用zxing第三方庫生成二維碼圖片,關(guān)于zxing的介紹可以看其github地址:https://github.com/zxing/zxing/。
我們可以下載源碼編譯安裝包,也可以直接在網(wǎng)上下載jar包,我的jar包是直接下載的,如下:
$ wget http://repo1.maven.org/maven2/com/google/zxing/javase/2.2/javase-2.2.jar $ wget http://repo1.maven.org/maven2/com/google/zxing/core/2.2/core-2.2.jar
(3) 使用python調(diào)用jar
下面使用zxing庫生成QR_CODE的二維碼圖片:
#!/usr/bin/python
#-*- encoding: utf-8 -*-
from jpype import *
# 啟動JVM
startJVM(getDefaultJVMPath(), "-ea", ("-Djava.class.path=%s" % "./javase-2.2.jar:./core-2.2.jar"))
# 加載需要使用到的類型
MultiFormatWriter = JClass("com.google.zxing.MultiFormatWriter")
BarcodeFormat = JClass("com.google.zxing.BarcodeFormat")
BitMatrix = JClass("com.google.zxing.common.BitMatrix")
File = JClass("java.io.File")
BufferedImage = JClass("java.awt.image.BufferedImage")
ImageIO = JClass("javax.imageio.ImageIO")
ByteArrayOutputStream = JClass("java.io.ByteArrayOutputStream")
MatrixToImageWriter = JClass("com.google.zxing.client.j2se.MatrixToImageWriter")
EncodeHintType = JClass("com.google.zxing.EncodeHintType")
Hashtable = JClass("java.util.Hashtable")
StrToEncode = "This is a testing string"
# 設(shè)置Margin=0
hints = Hashtable()
hints.put(EncodeHintType.MARGIN, 0)
matrix = MultiFormatWriter().encode(StrToEncode, BarcodeFormat.QR_CODE, 260, 260, hints)
image = MatrixToImageWriter.toBufferedImage(matrix)
ImageIO.write(image, "png", File("test.png"))
# 關(guān)閉JVM
shutdownJVM()
(4) 運行
運行程序得到的圖片如下,可以使用二維碼掃描工具得到二維碼里面保存的信息

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python如何寫入Pandas DataFrame到CSV文件
Pandas是一個功能強大的Python數(shù)據(jù)分析庫,常用于處理和分析數(shù)據(jù),CSV文件是一種廣泛使用的數(shù)據(jù)交換格式,Pandas通過to_csv方法支持將DataFrame寫入CSV文件,此方法允許用戶指定分隔符、編碼和選擇性寫入特定列等2024-09-09
Python實現(xiàn)動態(tài)給類和對象添加屬性和方法操作示例
這篇文章主要介紹了Python實現(xiàn)動態(tài)給類和對象添加屬性和方法操作,涉及Python面向?qū)ο蟪绦蛟O(shè)計中類與對象屬性、方法的動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2020-02-02
python神經(jīng)網(wǎng)絡(luò)slim常用函數(shù)訓練保存模型
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)使用slim函數(shù)進行模型的訓練及保存模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
python實現(xiàn)簡易自習室座位預(yù)約系統(tǒng)
本文將結(jié)合實例代碼,介紹python實現(xiàn)簡易自習室座位預(yù)約系統(tǒng),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06

