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

Python使用qrcode二維碼庫生成二維碼方法詳解

 更新時間:2020年02月17日 14:51:57   作者:以茄之名  
這篇文章主要介紹了Python使用qrcode二維碼庫生成二維碼方法詳解,需要的朋友可以參考下

安裝qrcode庫

pip install qrcode

聲明

import qrcode

使用qrcode

QRCode 方法

qrcode.QRCode(
  version=1,
  error_correction=qrcode.ERROR_CORRECT_L,
  box_size=10,
  border=4,
  image_factory=None,
  mask_pattern=None
)

參數(shù)解釋:

  • version:控制二維碼的大小,取值范圍從1到40。取最小值1時,二維碼大小為21*21。取值為 None (默認)或者使用fit=true參數(shù)(默認)時,二維碼會自動調整大小。
  • error_correction:控制二維碼糾錯級別。

    ERROR_CORRECT_L:大約7%或者更少的錯誤會被更正。

    ERROR_CORRECT_M:默認值,大約15%或者更少的錯誤會被更正。

    ERROR_CORRECT_Q:大約25%或者更少的錯誤會被更正。

    ERROR_CORRECT_H:大約30%或者更少的錯誤會被更正。

  • box_size:控制二維碼中每個格子的像素數(shù),默認為 10。
  • border:控制二維碼四周留白包含的格子數(shù),默認為4。
  • image_factory:選擇生成圖片的形式,默認為 PIL 圖像。
  • mask_pattern:選擇生成圖片的的掩模。

qrcode方法屬性解釋:

常用方法:

  • add_data(str,optimize=20):添加要轉換的文字到data參數(shù);如果使用了optimize優(yōu)化參數(shù),數(shù)據將被拆分為多個塊來進行優(yōu)化,以找到一個長度至少為這個值的足夠簡潔的方式來生成二維碼。設置為“0”以避免優(yōu)化。
  • make(fit=True):當fit參數(shù)為真或者沒有給出version參數(shù)時,將會調用best_fit方法來找到適合數(shù)據的最小尺寸。如果沒有設置mask_pattern,將會調用best_mask_pattern方法來找到找到最有效的掩模圖案。最后將這些數(shù)據傳遞給makeImpl方法來生成二維碼。與qrcode本體的make方法不一樣的是,這個方法沒有任何返回值。
  • make_image(fill_color=None, back_color=None,image_factory=None):創(chuàng)建二維碼的圖像并返回,默認為 PIL 圖像。如果要讓二維碼有顏色,可以在這里設置fill_color, back_color
  • clear:清空數(shù)據
  • get_matrix:返回二維碼數(shù)組。
  • print_ascii(out=None, tty=False, invert=False):這個方法就比較有趣了,可以用字符畫的形式來輸出二維碼,但是掃的時候一般都掃不出來。

其中的invert參數(shù)是決定是否反轉顏色的參數(shù),默認為假,如果為真的話會這樣:

其他方法:

  • best_fit(start=self.version):找到適合數(shù)據所需的最小尺寸。
  • best_mask_pattern():找到最有效的掩模圖案。
  • makeImpl(test, mask_pattern):生成二維碼的直接函數(shù)
  • map_data:(內部函數(shù),無需了解)
  • print_tty(out=None):用TTY顏色輸出二維碼,如果沒有給出out參數(shù),會使用sys.stdout。
  • setup_position_adjust_pattern:(內部函數(shù),無需了解)
  • setup_position_probe_pattern:(內部函數(shù),無需了解)
  • setup_timing_pattern:(內部函數(shù),無需了解)
  • setup_type_info:(內部函數(shù),無需了解)
  • setup_type_number:(內部函數(shù),無需了解)

屬性(這些大家基本都不用管):

  • border:
  • box_size:
  • data_cache:
  • data_list:
  • error_correction:
  • image_factory:
  • mask_pattern:
  • modules:
  • modules_count:
  • version:

生成 SVG 圖像

qrcode可以生成三種不同的svg圖像,一種是用路徑表示的svg,一種是用矩形集合表示的完整svg文件,還有一種是用矩形集合表示的svg片段。第一種用路徑表示的svg其實就是矢量圖,可以在圖像放大的時候可以保持圖片質量,而另外兩種可能會在格子之間出現(xiàn)空隙。

這三種分別對應了svg.py中的SvgPathImage、SvgImage和SvgFragmentImage類。在調用qrcode.make函數(shù)或者實例化QRCode時當作image_factory參數(shù)的值傳入就可以了。

import qrcode.image.svg

if method == 'basic':
  # Simple factory, just a set of rects.
  factory = qrcode.image.svg.SvgImage
elif method == 'fragment':
  # Fragment factory (also just a set of rects)
  factory = qrcode.image.svg.SvgFragmentImage
else:
  # Combined path factory, fixes white space that may occur when zooming
  factory = qrcode.image.svg.SvgPathImage

img = qrcode.make('Some data here', image_factory=factory)

生成 PNG 圖像

執(zhí)行命令安裝pymaging相關模塊:

pip install git+git://github.com/ojii/pymaging.git#egg=pymaging

pip install git+git://github.com/ojii/pymaging-png.git#egg=pymaging-png

然后給image_factor參數(shù)傳入qrcode.image.pure.PymagingImage就可以生成PNG圖片了。

import qrcode
from qrcode.image.pure import PymagingImage
img = qrcode.make('Some data here', image_factory=PymagingImage)

這是作者推薦的方式,但是我個人認為,完全沒有必要這么麻煩,直接用默認的 PIL 就可以獲取 PNG 圖片了,例子看下文。

make 方法

make方法實際上就是在內部調用了QRCode(要轉換的文本).make_image(),最后(默認)返回了一個PIL圖像對象。

# 顯示圖片
qrcode.make("hello world!").show()
# 保存 PNG 圖片
qrcode.make("hello world!").save('hello.png')

run_example 方法

生成一個作者項目網站地址的二維碼并顯示出來。

更多關于Python使用qrcode二維碼庫生成二維碼方法請查看下面的相關鏈接

相關文章

  • 基于Python實現(xiàn)圖像文字識別OCR工具

    基于Python實現(xiàn)圖像文字識別OCR工具

    在工作、生活中常常會用到,比如票據、漫畫、掃描件、照片的文本提取。本文主要介紹了基于PyQt + PaddleOCR實現(xiàn)的一個桌面端的OCR工具,用于快速實現(xiàn)圖片中文本區(qū)域自動檢測+文本自動識別,需要的朋友可以參考一下
    2021-12-12
  • pycharm通過ssh遠程連接服務器并運行代碼詳細圖文

    pycharm通過ssh遠程連接服務器并運行代碼詳細圖文

    在運行項目的過程中,由于自己電腦GPU不夠,通常需要將項目放到服務器上運行,這時就會遇到如何將pycharm和服務器進行連接,下面這篇文章主要給大家介紹了關于pycharm通過ssh遠程連接服務器并運行代碼的相關資料,需要的朋友可以參考下
    2024-03-03
  • Python正則表達式函數(shù)match()和search()使用全面指南

    Python正則表達式函數(shù)match()和search()使用全面指南

    在Python中,正則表達式是強大的工具,能夠用于文本匹配、搜索和替換,re模塊提供了許多函數(shù)來處理正則表達式,其中match()和search()是兩個常用的函數(shù),本文將深入探討這兩個函數(shù)的用法、區(qū)別和示例,幫助你更好地理解它們的功能
    2024-01-01
  • Python判斷Nan值的五種方式小結

    Python判斷Nan值的五種方式小結

    這篇文章主要介紹了Python判斷Nan值的五種方式小結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python實現(xiàn)登錄密碼重置簡易操作代碼

    python實現(xiàn)登錄密碼重置簡易操作代碼

    這篇文章主要介紹了python實現(xiàn)登錄密碼重置簡易操作,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-08-08
  • python 爬取天氣網衛(wèi)星圖片

    python 爬取天氣網衛(wèi)星圖片

    根據網站URL的規(guī)律編寫的一個爬取天氣網衛(wèi)星圖片的python爬蟲,使用了requests包,感興趣的朋友可以參考下
    2021-06-06
  • Python中 CSV格式清洗與轉換的實例代碼

    Python中 CSV格式清洗與轉換的實例代碼

    這篇文章主要介紹了Python123 CSV格式清洗與轉換的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • OpenCV3.0+Python3.6實現(xiàn)特定顏色的物體追蹤

    OpenCV3.0+Python3.6實現(xiàn)特定顏色的物體追蹤

    這篇文章主要為大家詳細介紹了OpenCV3.0+Python3.6實現(xiàn)特定顏色的物體追蹤,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • LangChain簡化ChatGPT工程復雜度使用詳解

    LangChain簡化ChatGPT工程復雜度使用詳解

    這篇文章主要為大家介紹了LangChain簡化ChatGPT工程復雜度使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 詳解pytorch中squeeze()和unsqueeze()函數(shù)介紹

    詳解pytorch中squeeze()和unsqueeze()函數(shù)介紹

    這篇文章主要介紹了詳解pytorch中squeeze()和unsqueeze()函數(shù)介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09

最新評論