GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

lincolnloop

python-qrcode – Python QRコードイメージジェネレータ

投稿日:

Python QRコードイメージジェネレータ https://pypi.python.org/pypi/qrcode

純粋なpython QRコードジェネレータ

QRコードを生成する。

標準インストール(画像を生成するためのを含む)の場合は、次のコマンドを実行します。

pip install qrcode[pil]

QRコードとは何ですか?

クイックレスポンスコードは、その読みやすさと比較的大きな記憶容量のために使用される2次元絵文字コードです。 このコードは、白い背景に四角いパターンで配置された黒いモジュールで構成されています。 符号化された情報は、任意の種類のデータ(例えば、バイナリ、英数字、または漢字記号)で構成することができ、

使用法

コマンドラインから、インストールされたqrスクリプトを使用します。

qr "Some text" > test.png

あるいは、Pythonでmakeショートカット関数を使います:

import qrcode
img = qrcode.make('Some data here')

高度な使用法

さらに制御するには、 QRCodeクラスを使用します。 例えば:

import qrcode
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)
qr.add_data('Some data')
qr.make(fit=True)

img = qr.make_image(fill_color="black", back_color="white")

versionパラメータは、QRコードのサイズを制御する1〜40の整数です(最小のバージョン1は21×21行列です)。 これを自動的に決定するコードを作成するときは、 None設定し、 fitパラメーターを使用します。

fill_colorおよびback_colorは、デフォルトイメージファクトリを使用する場合、QRの背景とペイントカラーを変更できます。

error_correctionパラメータは、QRコードで使用されるエラー修正を制御します。 qrcodeパッケージでは、次の4つの定数を使用できます。

ERROR_CORRECT_L
約7%以下の誤差を修正することができます。
ERROR_CORRECT_M (デフォルト)
約15%以下の誤差を修正することができます。
ERROR_CORRECT_Q
約25%以下の誤差を修正することができます。
ERROR_CORRECT_H
約30%以下の誤差を修正することができます。

box_sizeパラメータは、QRコードの各「ボックス」のピクセル数を制御します。

borderパラメータは、境界線の太さを指定します(デフォルトは4ですが、仕様に応じて最小値です)。

その他の画像工場

SVGとしてエンコードすることも、新しい純粋なPythonイメージプロセッサを使用してPNGイメージにエンコードすることもできます。

以下のPythonの例では、 makeショートカットを使用しmakeます。 同じimage_factoryキーワード引数は、より高度な使い方のためにQRCodeクラスに有効なオプションです。

SVG

SVG全体またはSVGフラグメントを作成することができます。 SVGイメージ全体を構築する場合は、パス(推奨されるスクリプトのデフォルト)または単純な長方形のセットを作成するファクトリを組み合わせて使用​​できます。

あなたのコマンドラインから:

qr --factory=svg-path "Some text" > test.svg
qr --factory=svg "Some text" > test.svg
qr --factory=svg-fragment "Some text" > test.svg

またはPythonで:

import qrcode
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)

同じように動作する他の2つの関連するファクトリが利用可能ですが、SVGの背景も白で塗りつぶします:

qrcode.image.svg.SvgFillImage
qrcode.image.svg.SvgPathFillImage

純粋なPython PNG

次の2つのパッケージをインストールします。

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

あなたのコマンドラインから:

qr --factory=pymaging "Some text" > test.png

またはPythonで:

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







-lincolnloop

執筆者: