python生成二維碼

  • 2019 年 10 月 6 日
  • 筆記

最近因為工作需要生成二維碼,小編就去網上找了一些有關生成二維碼的資料,最方便的有在線生成的,鏈接如下:

https://cli.im/

好用得很,無論鏈接,文字還是圖片,音頻,名片它都可以包辦到位。

如果你打開上面的鏈接,發現已經很滿足了,那我們這一期就結束了。

如果你並沒有滿足這一點,還是想要繼續探索的話,那我們繼續。

在查找過程中,小編髮現python也有生成二維碼這樣一個很強大的庫,這裡我們介紹兩個包,第一個是qrcode,第二個是myqr。

首先我們需要把環境裝好,使用pip進行安裝:

pip install qrcode

pip install myqr

安裝完之後我們便可以使用它了。

首先我們來看看qrcode是如何生成二維碼的。

很簡單,就5行:

# -*- coding: utf-8-*-

import qrcode

words='https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU1NDcwNTE2OA==&scene=126#wechat_redirect'

img = qrcode.make(words)

img.save('test.png')

img.show()

看結果:

生成了一張二維碼,就是這麼簡單。

下面我們來認識一下myqr,myqr和qrcode比起來確實變得豐富了不少,它可以做簡單的二維碼,也可以做漂亮的二維碼,還可以做動態的二維碼,比如這樣:

比如這樣:

再比如這樣:

又或者用你本人的照片,也都是ok的!

(請無視小編那張難看的臉

)

下面我就來教大家怎麼去用它吧!

首先,我們上程式碼:

(需要複製程式碼,點擊閱讀原文)

程式碼里的參數我們這邊來講解一下:

可以通過help(myqr)來獲得介紹

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  save_name: str, the output filename like 'example.png'  save_dir: str, the output directory

words:傳入的網址url(以網頁為示例)

version:使用的版本,1-40之間

level:圖片的品質等級,目前只有LMQH可選

picture:使用的源圖片的所在路徑

colorized:是否為彩色,Ture是彩色,False為黑白

save_name:保存二維碼的名字

save_dir:保存二維碼的路徑

將參數都填全了,我們就可以直接運行程式碼了。

運行後就會有這樣的效果:

效果還不錯!

大家動手來試試吧!

當然,在安裝了myqr之後,我們也可以選擇不敲程式碼,直接使用終端指令來完成圖片的生成:

myqr "https://weixin.qq.com/cgi-bin/readtemplate?check=false&t=weixin_getdownurl_sms&s=download&from=100&stype=10037102" -v 1 -l Q -n "s_qr.gif" -p s.gif -con 1.2 -bri 1.2 -c

進入cmd終端,直接敲:

myqr後面的參數我解釋一下:

-v 控制邊長,範圍是1至40,數字越大邊長越大;

-l 控制糾錯水平,範圍是L、M、Q、H,從左到右依次升高。

-n 控制文件名,格式可以是 .jpg, .png ,.bmp ,.gif ;

-d 控制位置。

-c 可以使產生的圖片由黑白變為彩色的。

-p 用來將QR二維碼影像與一張同目錄下的圖片相結合,產生一張黑白圖片。

-con 用以調節圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認為1.0。

-bri 用來調節圖片的亮度,其餘用法和取值與 -con 相同。

s.gif是你要傳進去的圖片,s_qr,gif是生成的二維碼的名字。

如果想生成最簡單最普通的二維碼,可以直接在myqr後面加個想打開的網址就可以了:

myqr "https://weixin.qq.com/cgi-bin/readtemplate?check=false&t=weixin_getdownurl_sms&s=download&from=100&stype=10037102"

生成圖片(默認名字qrcode):

如果想了解二維碼的生成使用,項目地址:

https://github.com/sylnsfar/qrcode

如果想了解更多的關於python的內容,就請關注我吧!

(本篇文章的任何二維碼都可以掃哦!

)

Tags: