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

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

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

前言

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

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

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

這里介紹兩種方法:

1、qrcode模塊

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

2、MyQR模塊

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

模塊安裝問(wèn)題

運(yùn)行代碼報(bào)錯(cuò):ModuleNotFoundError: No module named ‘MyQR’

pip install MyQR

qrcode模塊生成的二維碼

注意:logo圖不要

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

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

from PIL import Image
import qrcode, os

def create_qrcode(url, qrcodename):
    qr = qrcode.QRCode(
        version=1,  # 設(shè)置容錯(cuò)率為最高
        error_correction=qrcode.ERROR_CORRECT_H,  # 用于控制二維碼的錯(cuò)誤糾正程度
        box_size=8,  # 控制二維碼中每個(gè)格子的像素?cái)?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生成的二維碼也是沒(méi)有動(dòng)態(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("請(qǐng)輸入文本或URL:")
    qrcodename = input("請(qǐng)輸入生成二維碼的名稱(chēng):")
    create_qrcode(url,qrcodename)
if __name__ == '__main__':
    main()
參數(shù)詳解
version=None一個(gè)整數(shù),范圍為1到40,表示二維碼的大?。ㄗ钚≈凳?,是個(gè)12×12的矩陣),如果想讓程序自動(dòng)生成,將值設(shè)置為 None 并使用 fit=True 參數(shù)即可
error_correction=constants.ERROR_CORRECT_M二維碼的糾錯(cuò)范圍,可以選擇4個(gè)常量:1. ERROR_CORRECT_L 7%以下的錯(cuò)誤會(huì)被糾正2. ERROR_CORRECT_M (default) 15%以下的錯(cuò)誤會(huì)被糾正3. ERROR_CORRECT_Q 25 %以下的錯(cuò)誤會(huì)被糾正4. ERROR_CORRECT_H. 30%以下的錯(cuò)誤會(huì)被糾正
box_size=10控制二維碼中每個(gè)小格子包含的像素?cái)?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)或動(dòng)態(tài)背景的二維碼

from MyQR import myqr
import os

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

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

參數(shù):

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

動(dòng)態(tài)圖展示

總結(jié)

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

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

相關(guān)文章

  • Python 爬蟲(chóng)的工具列表大全

    Python 爬蟲(chóng)的工具列表大全

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

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

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

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

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

    使用Python判斷質(zhì)數(shù)(素?cái)?shù))的簡(jiǎn)單方法講解

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

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

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

    利用PyCharm操作Github(倉(cāng)庫(kù)新建、更新,代碼回滾)

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

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

    這篇文章主要為大家詳細(xì)介紹了Python貪吃蛇游戲詳細(xì)代碼和注釋?zhuān)哂幸欢ǖ膮⒖純r(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 使用Django的JsonResponse返回?cái)?shù)據(jù)的實(shí)現(xiàn)

    使用Django的JsonResponse返回?cái)?shù)據(jù)的實(shí)現(xiàn)

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

    Python素?cái)?shù)檢測(cè)實(shí)例分析

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

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

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

最新評(píng)論