Python實現(xiàn)動態(tài)二維碼生成的示例代碼
大家好,我是辰哥~
今天給大家分享兩個制作二維碼的Python庫,可以生成普通的二維碼、圖片背景版二維碼、動圖GIF版二維。
1.MyQR
安裝
pip?install?MyQR
普通的二維碼制作
from?MyQR?import?myqr
#運行
myqr.run('http://mtw.so/5w0Ubz')二維碼附上了鏈接,用手機掃的話,就可以直接打開所帶的鏈接
生成的二維碼如下:

微信掃碼的結(jié)果如下:

帶背景圖片的二維碼制作
from?MyQR?import?myqr text?=?"http://mtw.so/5w0Ubz" #給二維碼添加圖片背景 myqr.run( ????text, ????picture='./pythonyjz.jpg', ????colorized=True, ????version=8 )
背景圖片(pythonyjz.jpg)

參數(shù)說明
- words:二維碼內(nèi)容
- version:二維碼大小,范圍為 [1,40]
- picture:二維碼背景圖 .jpg,.png,.bmp,.gif,默認為黑白色
- colorized:二維碼背景顏色,默認 False,即黑白色
- save_name:二維碼名稱,默認為 qrcode.png
- save_dir:二維碼路徑,默認為程序當前路徑
生成的二維碼如下:

帶動圖背景的二維碼制作
from?MyQR?import?myqr text?=?"http://mtw.so/5w0Ubz" #給二維碼添加動圖gif背景 myqr.run( ????text, ????#動圖gif ????picture='./pythonyjz.gif', ????colorized=True, ????version=8 )
動圖(pythonyjz.gif)如下:

生成的動圖如下:

圖片背景的二維碼和動圖GIF背景的二維碼,除了傳入的圖片格式不一樣外,其他的設(shè)置都可以通用。
2.qrcode
安裝
pip?install?qrcode pip?install?Image pip?install?matplotlib
簡單的二維碼制作
默認參數(shù)版
#?導入模塊
import?qrcode
#?傳入將要生成二維碼的URL
img?=?qrcode.make('http://mtw.so/5w0Ubz')
#?保存
img.save('python研究者-1.png')生成的二維碼如下:

自定義參數(shù)版
import?qrcode
qr?=?qrcode.QRCode(
????version=10,
????#?二維碼的糾錯功能
????error_correction=qrcode.constants.ERROR_CORRECT_L,
????#?二維碼中每個小格子包含的像素
????box_size=10,
????#?邊框包含的格子數(shù),默認為4
????border=4,
)
#?添加數(shù)據(jù)
qr.add_data('http://mtw.so/5w0Ubz')
#?填充數(shù)據(jù)
qr.make(fit=True)
#?二維碼的背景色和格子色
img=qr.make_image(fill_color='black',?back_color='white');
img.save('python研究者-2.png')
生成的二維碼如下:

帶背景圖片的二維碼制作
from?PIL?import?Image
import?qrcode
import?matplotlib.pyplot?as?plt
qr?=?qrcode.QRCode(
????version=1,
????error_correction=qrcode.constants.ERROR_CORRECT_H,
????box_size=5,
????border=4,
)
#?添加數(shù)據(jù)
qr.add_data("http://mtw.so/5w0Ubz")
#?填充數(shù)據(jù)
qr.make(fit=True)
#?生成圖片
img?=?qr.make_image(fill_color="green",?back_color="white")
#?添加logo,打開logo照片
icon?=?Image.open("pythonyjz.jpg")
#?獲取圖片的寬高
img_w,?img_h?=?img.size
#?參數(shù)設(shè)置logo的大小
factor?=?6
size_w?=?int(img_w?/?factor)
size_h?=?int(img_h?/?factor)
icon_w,?icon_h?=?icon.size
if?icon_w?>?size_w:
????icon_w?=?size_w
if?icon_h?>?size_h:
????icon_h?=?size_h
#?重新設(shè)置logo的尺寸
icon?=?icon.resize((icon_w,?icon_h),?Image.ANTIALIAS)
#?得到畫圖的x,y坐標,居中顯示
w?=?int((img_w?-?icon_w)?/?2)
h?=?int((img_h?-?icon_h)?/?2)
#?黏貼logo照
img.paste(icon,?(w,?h),?mask=None)
#?保存img
img.save('python研究者-3.png')
生成的二維碼如下:

總結(jié)
文章介紹了兩種不同制作二維碼的庫,以及對應的使用,感興趣的可以自己動手試試??!
以上就是Python實現(xiàn)動態(tài)二維碼生成的示例代碼的詳細內(nèi)容,更多關(guān)于Python動態(tài)二維碼的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python采用socket模擬TCP通訊的實現(xiàn)方法
這篇文章主要介紹了Python采用socket模擬TCP通訊的實現(xiàn)方法,程序分為TCP的server端與client端兩部分,分別對這兩部分進行了較為深入的分析,需要的朋友可以參考下2014-11-11
9行Python3代碼實現(xiàn)批量提取PDF文件的指定內(nèi)容
這篇文章主要為大家詳細介紹了如何通過9行Python3代碼實現(xiàn)批量提取PDF文件的指定內(nèi)容,文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下2022-12-12
Python通過fnmatch模塊實現(xiàn)文件名匹配
這篇文章主要介紹了Python通過fnmatch模塊實現(xiàn)文件名匹配,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09
Python導入txt數(shù)據(jù)到mysql的方法
這篇文章主要介紹了Python導入txt數(shù)據(jù)到mysql的方法,涉及Python操作txt文件及mysql數(shù)據(jù)庫的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04
python,pycharm的環(huán)境變量設(shè)置方式
這篇文章主要介紹了python,pycharm的環(huán)境變量設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01

