欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)生成帶logo背景圖的二維碼

 更新時間:2023年05月17日 10:20:14   作者:逃逸的卡路里  
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)生成帶logo背景圖的二維碼(靜態(tài)和動態(tài)圖),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下

前言

二維碼簡稱 QR Code(Quick Response Code),學(xué)名為快速響應(yīng)矩陣碼,是二維條碼的一種,由日本的 Denso Wave 公司于 1994 年發(fā)明。現(xiàn)隨著智能手機(jī)的普及,已廣泛應(yīng)用于平常生活中,例如商品信息查詢、社交好友互動、網(wǎng)絡(luò)地址訪問等等。

盡管二維碼應(yīng)用漸趨廣泛,但與日韓等國相比,中國的二維碼發(fā)展還遠(yuǎn)遠(yuǎn)不夠。制約因素除了運(yùn)營商的支持度外,還有技術(shù)、終端適配、盈利模式等方面。炒得很火熱的是二維碼與O2O(Online To Offline)模式的結(jié)合,即利用二維碼的讀取將線上的用戶引流給線下的商家。騰訊很看好這個模式,馬化騰稱"二維碼是線上線下的一個關(guān)鍵入口"。盡管有些人不看好二維碼的應(yīng)用,但無可否認(rèn),只要培養(yǎng)了足夠多的用戶群,再結(jié)合良好的商業(yè)模式,二維碼將成為橋接現(xiàn)實(shí)與虛擬最得力的工具之一。

Python代碼是怎么生成二維碼的

這里介紹兩種方法:

1、qrcode模塊

qrcode模塊是Github上的一個開源項(xiàng)目,提供了生成二維碼的接口。qrcode默認(rèn)使用PIL庫用于生成圖像。由于生成 qrcode 圖片需要依賴 Python 的圖像庫,所以需要先安裝 Python 圖像庫 PIL(Python Imaging Library)。

2、MyQR模塊

MyQR是一個能夠產(chǎn)生基本二維碼、藝術(shù)二維碼(黑白與彩色)和動態(tài)效果二維碼(黑白與彩色)的Python第三方庫。
MyQR 庫的更多介紹和源碼訪問 ?? ?https://github.com/x-hw/amazing-qr

模塊安裝問題

運(yùn)行代碼報錯:ModuleNotFoundError: No module named ‘MyQR’

pip install MyQR

qrcode模塊生成的二維碼

注意:logo圖不要

太大,不然生成之后logo可能會擋住二維碼的內(nèi)容,導(dǎo)致掃不出來。

下面看實(shí)現(xiàn)代碼:

from PIL import Image
import qrcode, os

def create_qrcode(url, qrcodename):
    qr = qrcode.QRCode(
        version=1,  # 設(shè)置容錯率為最高
        error_correction=qrcode.ERROR_CORRECT_H,  # 用于控制二維碼的錯誤糾正程度
        box_size=8,  # 控制二維碼中每個格子的像素數(shù),默認(rèn)為10
        border=1,  # 二維碼四周留白,包含的格子數(shù),默認(rèn)為4
    )

    qr.add_data(url)  # QRCode.add_data(data)函數(shù)添加數(shù)據(jù)
    qr.make(fit=True)  # QRCode.make(fit=True)函數(shù)生成圖片

    img = qr.make_image()
    img = img.convert("RGBA")  # 二維碼設(shè)為彩色
    logo = Image.open("images/逃逸的卡路里.png")  # 傳gif生成的二維碼也是沒有動態(tài)效果的

    w,h = img.size
    logo_w,logo_h = logo.size
    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() + "/images/" + qrcodename + ".png", quality=100)

def main():
    url = input("請輸入文本或URL:")
    qrcodename = input("請輸入生成二維碼的名稱:")
    create_qrcode(url,qrcodename)
if __name__ == '__main__':
    main()
參數(shù)詳解
version=None一個整數(shù),范圍為1到40,表示二維碼的大?。ㄗ钚≈凳?,是個12×12的矩陣),如果想讓程序自動生成,將值設(shè)置為 None 并使用 fit=True 參數(shù)即可
error_correction=constants.ERROR_CORRECT_M二維碼的糾錯范圍,可以選擇4個常量:1. ERROR_CORRECT_L 7%以下的錯誤會被糾正2. ERROR_CORRECT_M (default) 15%以下的錯誤會被糾正3. ERROR_CORRECT_Q 25 %以下的錯誤會被糾正4. ERROR_CORRECT_H. 30%以下的錯誤會被糾正
box_size=10控制二維碼中每個小格子包含的像素數(shù)
border=4控制邊框(二維碼與圖片邊界的距離)包含的格子數(shù)(默認(rèn)為4,是相關(guān)標(biāo)準(zhǔn)規(guī)定的最小值)
image_factory=None選擇生成圖片的形式,默認(rèn)為PIL圖像
mask_pattern=None選擇生成圖片的的掩模

MyQR模塊生成靜態(tài)或動態(tài)背景的二維碼

from MyQR import myqr
import os

text = input("請輸入文本或url:")
save_name = input("請輸入生成二維碼的名稱:")+".png"

myqr.run(
    words=text, #在命令后輸入鏈接或者句子作為參數(shù),然后在程序的當(dāng)前目錄中產(chǎn)生相應(yīng)的二維碼圖片文件,默認(rèn)命名為” qrcode.png“
    version=1,  #設(shè)置容錯率為最高默認(rèn)邊長是取決于你輸入的信息的長度和使用的糾錯等級;而默認(rèn)糾錯等級是最高級的H
    level='H',  #控制糾錯水平,范圍是L、M、Q、H,從左到右依次升高
    picture="images/逃逸的卡路里.png",  #用來將QR二維碼圖像與一張同目錄下的圖片相結(jié)合,產(chǎn)生一張黑白圖片
    colorized=True, #可以使產(chǎn)生的圖片由黑白(False)變?yōu)椴噬?True)的
    contrast=1.0, #用以調(diào)節(jié)圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認(rèn)為1.0。
    brightness=1.0, #用來調(diào)節(jié)圖片的亮度,其余用法和取值與 -con 相同
    save_name=save_name,    #控制文件名,格式可以是 .jpg, .png ,.bmp ,.gif ;
    save_dir=os.getcwd() + "/images/"
)

參數(shù):

  • words:文本或鏈接
  • version:改變生成二維碼圖片的大??;范圍(1~40)
  • picture: 指定生成二維碼的背景圖
  • colorized:只有兩個參數(shù),True為彩色,F(xiàn)lase為灰色
  • level :范圍只有:‘L’,‘M’,‘Q’,‘H’;控制糾錯水平
  • contrast :調(diào)節(jié)背景圖片的對比度,只能給予float類型的參數(shù)
  • brightness:調(diào)節(jié)背景圖片的亮度,如果參數(shù)值過大,背景圖將會變?yōu)榘咨?;只能給予float類型的參數(shù)
  • save_name:保存的格式只有:’.jpg’,‘.png’, ‘.bmp’, '.gif’等四種格式,路徑可以使用絕對路徑和相對路徑。
  • save_dir:存儲路徑

動態(tài)圖展示

總結(jié)

以上就是Python代碼對二維碼生成處理的示例,根據(jù)不同需求可以選擇qrcode模塊或者M(jìn)yQR模塊來實(shí)現(xiàn),希望對看到的小伙伴有幫助作用。

到此這篇關(guān)于Python實(shí)現(xiàn)生成帶logo背景圖的二維碼的文章就介紹到這了,更多相關(guān)Python生成二維碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 爬蟲的工具列表大全

    Python 爬蟲的工具列表大全

    即然提到了爬蟲,就從網(wǎng)上理了一份python爬蟲相關(guān)的包。包含與網(wǎng)頁抓取和數(shù)據(jù)處理的Python庫,需要的朋友可以參考下
    2016-01-01
  • Python爬蟲實(shí)現(xiàn)抓取電影網(wǎng)站信息并入庫

    Python爬蟲實(shí)現(xiàn)抓取電影網(wǎng)站信息并入庫

    本文主要介紹了利用Python爬蟲實(shí)現(xiàn)抓取電影網(wǎng)站信息的功能,并將抓取到的信息入庫。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2022-02-02
  • Python創(chuàng)建一個空的dataframe,并循環(huán)賦值的方法

    Python創(chuàng)建一個空的dataframe,并循環(huán)賦值的方法

    今天小編就為大家分享一篇Python創(chuàng)建一個空的dataframe,并循環(huán)賦值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 使用Python判斷質(zhì)數(shù)(素數(shù))的簡單方法講解

    使用Python判斷質(zhì)數(shù)(素數(shù))的簡單方法講解

    這篇文章主要介紹了使用Python判斷質(zhì)數(shù)(素數(shù))的簡單方法講解,經(jīng)常被用來做科學(xué)計算的Python處理這種小問題當(dāng)然手到擒來^_-需要的朋友可以參考下
    2016-05-05
  • 在Django的視圖(View)外使用Session的方法

    在Django的視圖(View)外使用Session的方法

    這篇文章主要介紹了在Django的視圖(View)外使用Session的方法,Django是最具人氣的Python web開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • 利用PyCharm操作Github(倉庫新建、更新,代碼回滾)

    利用PyCharm操作Github(倉庫新建、更新,代碼回滾)

    這篇文章主要介紹了利用PyCharm操作Github(倉庫新建、更新,代碼回滾),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • pthon貪吃蛇游戲詳細(xì)代碼

    pthon貪吃蛇游戲詳細(xì)代碼

    這篇文章主要為大家詳細(xì)介紹了Python貪吃蛇游戲詳細(xì)代碼和注釋,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 使用Django的JsonResponse返回數(shù)據(jù)的實(shí)現(xiàn)

    使用Django的JsonResponse返回數(shù)據(jù)的實(shí)現(xiàn)

    這篇文章主要介紹了使用Django的JsonResponse返回數(shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python素數(shù)檢測實(shí)例分析

    Python素數(shù)檢測實(shí)例分析

    這篇文章主要介紹了Python素數(shù)檢測方法,實(shí)例分析了Python判定素數(shù)的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • jupyter notebook更換皮膚主題的實(shí)現(xiàn)

    jupyter notebook更換皮膚主題的實(shí)現(xiàn)

    這篇文章主要介紹了jupyter notebook更換皮膚主題的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評論