Pythonでロゴ入りのQRコードを作成する方法

Python

ロゴ入りのQRコードを作成するには、QRコード作成ライブラリの「qrcode」と画像加工ライブラリの「pillow」を使うと簡単にできます。

インストール

●qrcode

pip install qrcode

●pillow

pip install pillow

ロゴなし版のソース

まずは、ロゴなしのサンプルソースを紹介します。
とても短いコードで可能です。

# QRコードライブラリ読み込み
import qrcode

# QRコード初期設定
qr = qrcode.QRCode(
#    version=12,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
#    box_size=10,
#    border=8
)

# QRコードに入れるテキスト
qr.add_data('こんにちは')

# QRコード作成
qr.make()

# QRコード画像生成
#img = qr.make_image(fill_color="#FF0000", back_color="#0000FF") #色を付けることもできます
img = qr.make_image()

# QRコード画像の保存
img.save('qrcode_test.png')

実行結果

ロゴあり版のソース

●手順
1.ロゴなし版のQRコードを作成
2.作成したQRコードにロゴ画像を追加します。

# QRコードライブラリ読み込み
import qrcode

# 画像加工ライブラリ読み込み
from PIL import Image, ImageFilter

# ロゴ画像
logo = Image.open('logo.png')

# QRコード初期設定
qr = qrcode.QRCode(
    error_correction=qrcode.constants.ERROR_CORRECT_H
)

# QRコードに入れるテキスト
qr.add_data('こんにちは')

# QRコード作成
qr.make()

# QRコード画像生成
qr_img = qr.make_image().convert('RGB')

# ロゴ画像の座標
logo_xy = ((qr_img.size[0] - logo.size[0]) // 2, (qr_img.size[1] - logo.size[1]) // 2)

# ロゴ画像を張り付ける
qr_img.paste(logo, logo_xy)

# QRコード画像の保存
qr_img.save('qrcode.png')
*ロゴ画像は、80*80のものを使用しました。
*大きい場合は、縮小するなどの処理が必要になります。

実行結果