国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

茄子詳解 Python qrcode 二維碼模塊

woshicixide / 3415人閱讀

摘要:聲明使用方法參數(shù)解釋控制二維碼的大小,取值范圍從到。取最小值時(shí),二維碼大小為。控制二維碼糾錯(cuò)級(jí)別。默認(rèn)值,大約或者更少的錯(cuò)誤會(huì)被更正。控制二維碼四周留白包含的格子數(shù),默認(rèn)為。清空數(shù)據(jù)返回二維碼數(shù)組。

https://github.com/lincolnloo...

聲明
import 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時(shí),二維碼大小為21*21。取值為 None (默認(rèn))或者使用fit=true參數(shù)(默認(rèn))時(shí),二維碼會(huì)自動(dòng)調(diào)整大小。

error_correction:控制二維碼糾錯(cuò)級(jí)別。

ERROR_CORRECT_L:大約7%或者更少的錯(cuò)誤會(huì)被更正。

ERROR_CORRECT_M:默認(rèn)值,大約15%或者更少的錯(cuò)誤會(huì)被更正。

ERROR_CORRECT_Q:大約25%或者更少的錯(cuò)誤會(huì)被更正。

ERROR_CORRECT_H:大約30%或者更少的錯(cuò)誤會(huì)被更正。

box_size:控制二維碼中每個(gè)格子的像素?cái)?shù),默認(rèn)為 10。

border:控制二維碼四周留白包含的格子數(shù),默認(rèn)為4。

image_factory:選擇生成圖片的形式,默認(rèn)為 PIL 圖像。

mask_pattern:選擇生成圖片的的掩模。

方法屬性解釋:

常用方法:

add_data(str,optimize=20):添加要轉(zhuǎn)換的文字到data參數(shù);如果使用了optimize優(yōu)化參數(shù),數(shù)據(jù)將被拆分為多個(gè)塊來進(jìn)行優(yōu)化,以找到一個(gè)長度至少為這個(gè)值的足夠簡潔的方式來生成二維碼。設(shè)置為“0”以避免優(yōu)化。

make(fit=True):當(dāng)fit參數(shù)為真或者沒有給出version參數(shù)時(shí),將會(huì)調(diào)用best_fit方法來找到適合數(shù)據(jù)的最小尺寸。如果沒有設(shè)置mask_pattern,將會(huì)調(diào)用best_mask_pattern方法來找到找到最有效的掩模圖案。最后將這些數(shù)據(jù)傳遞給makeImpl方法來生成二維碼。qrcode本體的make方法不一樣的是,這個(gè)方法沒有任何返回值。

make_image(fill_color=None, back_color=None,image_factory=None):創(chuàng)建二維碼的圖像并返回,默認(rèn)為 PIL 圖像。**

如果要讓二維碼有顏色,可以在這里設(shè)置。**

clear:清空數(shù)據(jù)

get_matrix:返回二維碼數(shù)組。

print_ascii(out=None, tty=False, invert=False):這個(gè)方法就比較有趣了,可以用字符畫的形式來輸出二維碼,但是掃的時(shí)候一般都掃不出來。其中的invert參數(shù)是決定是否反轉(zhuǎn)顏色的參數(shù),默認(rèn)為假,如果為真的話會(huì)這樣:

其他方法:

best_fit(start=self.version):找到適合數(shù)據(jù)所需的最小尺寸。

best_mask_pattern():找到最有效的掩模圖案。

makeImpl(test, mask_pattern):生成二維碼的直接函數(shù)

map_data:(內(nèi)部函數(shù),無需了解)

print_tty(out=None):用TTY顏色輸出二維碼,如果沒有給出out參數(shù),會(huì)使用sys.stdout

setup_position_adjust_pattern:(內(nèi)部函數(shù),無需了解)

setup_position_probe_pattern:(內(nèi)部函數(shù),無需了解)

setup_timing_pattern:(內(nèi)部函數(shù),無需了解)

setup_type_info:(內(nèi)部函數(shù),無需了解)

setup_type_number:(內(nèi)部函數(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其實(shí)就是矢量圖,可以在圖像放大的時(shí)候可以保持圖片質(zhì)量,而另外兩種可能會(huì)在格子之間出現(xiàn)空隙。

這三種分別對(duì)應(yīng)了svg.py中的SvgPathImage、SvgImage和SvgFragmentImage類。在調(diào)用qrcode.make函數(shù)或者實(shí)例化QRCode時(shí)當(dāng)作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相關(guān)模塊:

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)

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

make 方法

make方法實(shí)際上就是在內(nèi)部調(diào)用了QRCode(要轉(zhuǎn)換的文本).make_image(),最后(默認(rèn))返回了一個(gè)PIL圖像對(duì)象。

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

生成一個(gè)作者項(xiàng)目網(wǎng)站地址的二維碼并顯示出來。

翻譯自作者的Github地址中的 README 和具體代碼注釋。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/41987.html

相關(guān)文章

  • Python掃一掃維碼的兩種方式詳細(xì)說明

      在教學(xué)Python解決二維碼圖片的過程當(dāng)中,大家看到基本上都是用python形成霸氣二維碼圖片、用Python制運(yùn)作的圖二維碼圖片什么的文章內(nèi)容。但是關(guān)于應(yīng)用Python大批量掃一掃二維碼的實(shí)例教程,實(shí)屬罕見。文中就給大家歸納了Python掃一掃二維碼的兩種方式,有興趣的話可以學(xué)習(xí)下  序言  近期在尋找材料時(shí),發(fā)覺了一則10年前新聞報(bào)道:二維碼圖片將成為線上與線下重要通道。從目前的移動(dòng)互聯(lián)來...

    89542767 評(píng)論0 收藏0
  • Python維碼生成庫qrcode示例

    摘要:二維碼簡稱,學(xué)名為快速響應(yīng)矩陣碼,是二維條碼的一種,由日本的公司于年發(fā)明。參數(shù)表示生成二維碼的尺寸大小,取值范圍是至,最小尺寸會(huì)生成的二維碼,每增加,生成的二維碼就會(huì)添加尺寸,例如是,則生成的二維碼。 二維碼簡稱 QR Code(Quick Response Code),學(xué)名為快速響應(yīng)矩陣碼,是二維條碼的一種,由日本的 Denso Wave 公司于 1994 年發(fā)明。現(xiàn)隨著智能手機(jī)的普...

    Eirunye 評(píng)論0 收藏0
  • 微信公眾號(hào)開發(fā)小記——4.兩種邀請(qǐng)用戶的方式 掃碼&&鏈接

    摘要:借著這個(gè)需求體會(huì)了下微信開發(fā)的兩種不同類型非端口的兩種開發(fā),以及的一些正確姿勢(shì)。關(guān)于用戶微信登錄的事情我們通過已經(jīng)解決了參考我的上一篇博客微信公眾號(hào)開發(fā)小記接入三方登錄,所以可以直接用的裝飾器完成這種事情。 描述 假設(shè)的我們的服務(wù)號(hào)有這么一些功能,比如底部有按鈕,點(diǎn)擊會(huì)有一些復(fù)雜的功能,這時(shí)候可能就需要一個(gè)用戶系統(tǒng),有用戶系統(tǒng)就經(jīng)常想要做什么分享邀請(qǐng)新用戶之類的,這時(shí)候就又有幾種方式,...

    BDEEFE 評(píng)論0 收藏0
  • laravel 使用擴(kuò)展包生成維碼

    摘要:本篇文章記錄下用擴(kuò)展包生成二維碼。安裝以及配置使用擴(kuò)展包來生成二維碼,將其配置到中共需要三步。使用安裝在中注冊(cè)服務(wù)提供者,如下繼續(xù)在中添加門面,如下經(jīng)過以上三個(gè)步驟,在中就可以使用來生成二維碼了。 導(dǎo)語 之前介紹過 composer 的作用,可以很方便的管理包,同時(shí) laravel 的開發(fā)者眾多,因此有很多擴(kuò)展包可以使用。本篇文章記錄下用擴(kuò)展包生成二維碼。代碼可查看 GitHub。 c...

    LMou 評(píng)論0 收藏0
  • 手把手教你擴(kuò)展個(gè)人微信號(hào)(1)

    摘要:關(guān)于本教程有任何建議或者疑問,都?xì)g迎郵件與我聯(lián)系,或者在上提出教程流程簡介教程將會(huì)從如何分析微信協(xié)議開始,第一部分將教你如何從零開始獲取并模擬擴(kuò)展個(gè)人微信號(hào)所需要的協(xié)議。 現(xiàn)在的日常生活已經(jīng)離不開微信,難免會(huì)生出微信有沒有什么API可以使用的想法。 那樣就可以拿自己微信做個(gè)消息聚合、開個(gè)投票什么的,可以顯然沒有這種東西。 不過還好,有網(wǎng)頁版微信不就等于有了API么,這個(gè)項(xiàng)目就是出于這個(gè)...

    siberiawolf 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<