環境
- macOS Sierra 10.12.5
- python 3.4
モジュールのインストール
今回使用するのは「PyQRCodeモジュール」です。
Windowsの方はコマンドプロンプト、Macの方はターミナルを起動し、次のコマンドを実行してください。
>> pip install pyqrcode
pipが使用できない場合は以下よりソースファイルを取得し、中のsetup.pyを実行してください。
https://pypi.python.org/pypi/PyQRCode
また、ご利用の環境によっては「pypngモジュール」を別途インストールする必要があります。
>> pip install pypng
もしくはhttps://pypi.python.org/pypi/pypng
モジュールの用意が整っている前提で進めます。
基本スクリプト
# -*- coding: UTF-8 -*-
import pyqrcode
a = pyqrcode.create(content='本日は晴天ナリよ')
a.png(file='test.png')
実行結果
pythonスクリプトと同じフォルダ内にtest.pngができます。
とても小さい画像になってしまいました。
これはQRコードの内容が非常に少ないからです。
内容に比例して画像サイズも大きくなります。
応用編1 誤り訂正レベルを指定する
QRコードは「誤り訂正レベル」といって、汚れや破損によってQRコードの一部が読み取りにくい状態でも、コード自身でデータを復元する機能を持っています。
→参考:http://www.qrcode.com/about/error_correction.html
誤り訂正レベルは M → L → Q → H の4段階あり、段階が上がるごとに復元能力がアップします。
ただし、復元能力のアップに比例してデータ量が増加するため、画像サイズが大きくなるというデメリットもあります。
PyQRCodeモジュールで誤り訂正レベルを指定するには次のように記述します。
# -*- coding: UTF-8 -*-
import pyqrcode
a = pyqrcode.create(content='本日は晴天ナリよ', error='H')
a.png(file='test.png')
比較画像 |
応用編2 QRコードの色を指定する
PyQRCodeモジュール(正確にはpypngモジュールの機能ですが)ではQRコードの色を自由に指定することができます。
色の指定はRGB値で次のように記述します。
# -*- coding: UTF-8 -*-
import pyqrcode
a = pyqrcode.create(content='本日は晴天ナリよ')
a.png(file='test.png', module_color=[255, 0, 0, 255])
応用編3 QRコードの背景色を指定する
QRコードの色と同様に、背景色も指定することができます。
# -*- coding: UTF-8 -*-
import pyqrcode
a = pyqrcode.create(content='本日は晴天ナリよ')
a.png(file='test.png', background=[255, 0, 0, 255])
<応用編4 QRコードのサイズを指定する
QRコードの内容に関わらず、そのサイズを指定することができます。
# -*- coding: UTF-8 -*-
import pyqrcode
a = pyqrcode.create(content='本日は晴天ナリよ')
a.png(file='test.png', sale=3)
まとめ
QRコードを作成できるモジュールはいくつかありますが、PyQRCodeモジュールは色の指定ができるのが良い部分だと思います。
QRコード作成機能をアプリケーションに組み込むことをお考えの場合は、ぜひご参考ください。
pngのサイズの変更の記述、saleになってますがscaleかと。
返信削除