python是所有編程語言中模塊最豐富的
生活中常見的二維碼功能在使用python第三方庫來生成十分容易
三個大矩形是定位圖案,用于標記二維碼的大小。這三個定位圖案有白邊,通過這三個矩形就可以標識一個二維碼了。
QRCode 生成這個二維碼只用一行
import qrcode
qrcode.make("不睡覺干嘛呢").get_image().show() #設置URL必須添加http://
安裝導入QRCode
pip install qrcode #方法多,體量小
安裝導入MyQR
pip install myqr #操作簡單,功能強大
QRCode 多種自定義方法
import qrcode
text = input("輸入文字或URL:")
img =qrcode.make(text)
img.save() #保存圖片至本地目錄,可以設定路徑
img.show()
生成添加logo的二維碼
from PIL import Image
import qrcode,os
def create_qrcode(url,qrcodename):
qr = qrcode.QRCode(
version=1, # 設置容錯率為最高
error_correction=qrcode.ERROR_CORRECT_H, # 用于控制二維碼的錯誤糾正程度
box_size=8, # 控制二維碼中每個格子的像素數,默認為10
border=1, # 二維碼四周留白,包含的格子數,默認為4
#image_factory=None, 保存在模塊根目錄的image文件夾下
#mask_pattern=None
)
qr.add_data(url) # QRCode.add_data(data)函數添加數據
qr.make(fit=True) # QRCode.make(fit=True)函數生成圖片
img = qr.make_image()
img = img.convert("RGBA") # 二維碼設為彩色
logo = Image.open('xx.jpg') # 傳gif生成的二維碼也是沒有動態效果的
w , h = img.size
logo_w , logo_h = logo.size
factor = 4 # 默認logo最大設為圖片的四分之一
s_w = int(w / factor)
s_h = int(h / factor)
if logo_w > s_w or logo_h > s_h:
logo_w = s_w
logo_h = s_h
logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
l_w = int((w - logo_w) / 2)
l_h = int((h - logo_h) / 2)
logo = logo.convert("RGBA")
img.paste(logo, (l_w, l_h), logo)
img.show()
img.save(os.getcwd()+'/' + qrcodename + '.png', quality=100)
MyQR 生成動態二維碼
from MyQR import myqr
import os
myqr.run(
words='Hello world', #在命令后輸入鏈接或者句子作為參數,然后在程序的當前目錄中產生相應的二維碼圖片文件,默認命名為” qrcode.png“
version=1, #設置容錯率為最高默認邊長是取決于你輸入的信息的長度和使用的糾錯等級;而默認糾錯等級是最高級的H
level='H', #控制糾錯水平,范圍是L、M、Q、H,從左到右依次升高
picture='WChat.png', #用來將QR二維碼圖像與一張同目錄下的圖片相結合,產生一張黑白圖片
colorized=True, #可以使產生的圖片由黑白(False)變為彩色(True)的
contrast=1.0, #用以調節圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認為1.0。
brightness=1.0, #用來調節圖片的亮度,其余用法和取值與 -con 相同
save_name='test.png', #控制文件名,格式可以是 .jpg, .png ,.bmp ,.gif ;
save_dir=os.getcwd() #控制位置。
)
Positional parameter
words: str
Optional parameters
version: int, from 1 to 40
level: str, just one of ('L','M','Q','H')
picutre: str, a filename of a image
colorized: bool
constrast: float
brightness: float
默認輸出文件名是“ qrcode.png ",而默認存儲位置是當前目錄
save_name: str, the output filename like 'example.png'
save_dir: str, the output directory
參考資料
以上內容主要參考官方文檔
這篇python二維碼操作:對QRCode和MyQR入門詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

