QRコードを印刷できる簡単なプログラムを作ってみよう!
トップページに戻る
前回:QRコード電子チケットシステムの仕組み
必要な物
- Python
- お好きなコードエディター(おすすめはVS Code)
開発のステップ
「開発のステップ」に従って、どうやったら「QRコードメーカー」を作れるか考えよう!
-
パーツ分け
「QRコードメーカーに必要な機能はなんだろう?」必要な機能とパーツをリストアップしてみよう!
:例は以下参照
(例)
- QRコードに入れる情報をインプットする機能
- QRコードを作成する機能
- QRコードを指定した場所に保存する機能
これらの機能をPythonで実装してみよう!
-
関係性
入力 --データ--> プログラム
モジュールをインストール
QRコードを作成するには qrcode を使います。
pip install qrcode
QRコードの生成
`python
img = qrcode.make("Hello World!")
img.save('test.png') #先にセーブ
img.show()
`
生成されたQRコードが正しいかどうかは、http://qrcode.red/ で確認できます。
QRコードの生成(詳細設定)
詳細な設定を行うこともできます。
`python
import qrcode
from PIL import Image
qr = qrcode.QRCode(
version=3,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=2,
)
qr.add_data('Hello World!')
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white").convert('L')
img.save('test.png')
img.show()
`
- version
- セル数を決めるパラメータで、1から40の値に設定できます。
- 1で21セルx21セル、2で25セルx25セル、40で177セルx177セルです
- 以下参照
- error_correction
- 誤り訂正レベルで以下のパラメータから選択します
- ERROR_CORRECT_L
- 7%以下のエラーを修正
- ERROR_CORRECT_M
- 初期設定値
- 15%以下のエラーを修正
- ERROR_CORRECT_Q
- 20%以下のエラーを修正
- ERROR_CORRECT_H
- 30%以下のエラーを修正
- ERROR_CORRECT_L
- 誤り訂正レベルで以下のパラメータから選択します
- box_size
- ボックスのピクセル数
- border
- 境界線の太さ
- 初期値4(最小設定値)
UIを作成
`python
import qrcode
print("qrcodeを作成します。")
input_data = input("QRコードにいれるデータを入力してください: ")
qr = qrcode.QRCode(
version=3
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=2,
)
qr.add_data(input_data)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white").convert('L')
save_path = input("保存する名前を決めてください: ")
img.save(save_path + '.png')
print(f"'{save_path}.png'をセーブしました!)
img.show()
print()
で情報を表示します。
input()
でユーザーが入力したデータをqrcode.png
というファイルで保存するプログラムを作成してみました!
まとめ
PythonでQRコードを作る簡単なプログラムを作成してみました。
他にも自由にカスタムしてみてください。
オススメの他記事:PythonとOpenCVのみでカメラからQRコード読み取り