熱線電話:13121318867

登錄
首頁大數據時代學了python之后,美化二維碼如此簡單
學了python之后,美化二維碼如此簡單
2020-07-17
收藏

掃碼,掃碼,大家現在見得最多的圖片就是二維碼了。但是,你了解二維碼嗎,知道怎樣美化二維碼?生成動態二維碼嗎?今天小編就給大家分享怎樣用python來美化二維碼。操作很簡單,相信大家很快就能學會,一起來看吧!

以下文章來源于: Python的樂趣

作者:一粒米飯

二維碼(2-dimensional bar code),又稱QR Code,是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號信息的。本教程將展示如何在原有黑白圖片的基礎上,給二維碼添加一些色彩和動態效果,即給二維碼換個皮膚。首先,簡單了解一下二維碼的基礎知識。

二維碼的基礎知識

一個普通二維碼的基本結構如下:

其中位置探測圖像、定位圖像和校驗圖形用于定位功能;格式信息表示二維碼的糾錯級別,分為L、M、Q、H;版本信息:從21x21(版本1),到177x177(版本40),每一版本符號比前一版本 每邊增加4個模塊;數據和糾錯碼字就是實際保存的二維碼信息以及二維碼變臟或破損用于修正的信息。

了解了二維碼的基本結構后,下面開始用Python美化二維碼。

1. 安裝第三方庫zxing和myqr

zxing用來識別二維碼中的內容,myqr用來生成個性化的二維碼,安裝命令如下:

$ pip install zxing myqr

2. 二維碼簡單背景替換

二維碼圖片如下:

背景圖片如下:

                        

# 導入xzing和myqr
import zxingfrom MyQR import myqrimport os
# 解析二維碼中的內容reader = zxing.BarCodeReader()content = reader.decode("qrcode.png")
# 生成新的二維碼version, level, qr_name = myqr.run(words=content.parsed,                   # 上面解析出來的二維碼內容
    version=1,                              # 設置容錯率為最高
    level='H',                              # 控制糾錯水平,范圍是L、M、Q、H,從左到右依次升高
    picture="luffy.png",                    # 要使用的圖片
    colorized=True,                         # 彩色二維碼
    contrast=1.0,                           #用以調節圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認為1.0
    brightness=1.0,                         #用來調節圖片的亮度,其余用法和取值同上
    save_name="qr_colorized.png",           # 保存文件的名字,格式可以是jpg,png,bmp,gif
    save_dir=os.getcwd()                    #保存位置
)

# 效果如下

下面再展示如何生成一個有動態效果的二維碼。

3. 動態二維碼

# 動圖如下
# 生成動圖二維碼version, level, qr_name = myqr.run(words=content.parsed,                   # 上面解析出來的二維碼內容
    version=1,                              # 設置容錯率為最高
    level='H',                              # 控制糾錯水平,范圍是L、M、Q、H,從左到右依次升高
    picture="penguin.gif",                  # gif圖片
    colorized=True,                         # 彩色二維碼
    contrast=1.0,                           #用以調節圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認為1.0
    brightness=1.0,                         #用來調節圖片的亮度,其余用法和取值同上
    save_name="qrcode.gif",                 # 保存文件的名字,格式可以是jpg,png,bmp,gif
    save_dir=os.getcwd()                    #保存位置
)
# 效果如下

參考資料:

https://coolshell.cn/articles/10590.html 二維碼的生成細節和原理 

https://github.com/sylnsfar/qrcode

https://github.com/dlenski/python-zxing


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢