おしゃれなイラスト埋め込みQRを無料でつくる方法

イラストを埋め込んだ色付きQRコードを無料で作る方法

イラスト化QRコードが話題になりましたが、なかなか難しいですよね。

この記事ではイラスト化ではなく、イラスト埋め込みQRコードの作成方法を紹介します。

そして、誰にでも簡単に使えるようにGoogle Colabにまとめたのでこれも共有します。

埋め込みQRコードなら作れるところあるけど?

実は画像を埋め込むだけならすでにいくつかのサイトがあります。

ですがこれらのサイトではちょっとだけ痒い所に手が届かないのです。
具体的に言うと

  • あらかじめロゴ画像を加工しておく必要がある

  • QRコード自体は白黒にしかできない

あとはココナラとかで提供されていますが当然有料になってきます。

そこでChatGPTコードインタープリターを活用してパパっと作る方法を紹介します。

ChatGPTコードインタープリターで作る方法

まずはコードインタープリターを選択。

もしPlus会員(有料会員)なのに出ていない、という人は左下のセッティングからBeta featureの中にあるコードインタープリターをオンにします。

そこで以下のプロンプトを入力。URLはご自身のものにかえてください。色もすきな色を指定してみてください。

カスタムロゴと色のQRコードを作成するので、次の手順に従ってください。

手順1.以下はQRコードを作成するプログラムです。私の入力するURLで同様の画像を作ってください。
グラジェントは青とシルバーの高級感のある色にしてください。


"""
import qrcode
from PIL import Image
import numpy as np

# URL to create QR code
url = "https://thegallop.beehiiv.com/"

# Generate QR code with white background and black data
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
    box_size=10,
    border=4,
)
qr.add_data(url)
qr.make(fit=True)

img = qr.make_image(fill_color="black", back_color="white")  # change color here

# Convert the image to RGBA
img_rgba = img.convert("RGBA")

# Generate a new image data with black (data part) turned transparent
new_data = []
for item in img_rgba.getdata():
    # change all black pixels to transparent
    if item[0] in list(range(0, 2)) and item[1] in list(range(0, 2)) and item[2] in list(range(0, 2)):
        if item[0] == item[1] == item[2]:  # this ensures that the color is grayscale (thus black), not a dark color
            new_data.append((0, 0, 0, 0))
        else:
            new_data.append(item)
    else:
        new_data.append(item)

# Update the image data
img_rgba.putdata(new_data)

# Define gradient function
def get_gradient_2d(start, stop, width, height, is_horizontal):
    if is_horizontal:
        return np.tile(np.linspace(start, stop, width), (height, 1))
    else:
        return np.tile(np.linspace(start, stop, height), (width, 1)).T

def get_gradient_3d(width, height, start_list, stop_list, is_horizontal_list):
    result = np.zeros((height, width, len(start_list)), dtype=np.float)
    for i, (start, stop, is_horizontal) in enumerate(zip(start_list, stop_list, is_horizontal_list)):
        result[:, :, i] = get_gradient_2d(start, stop, width, height, is_horizontal)
    return result

# Define gradient parameters
R_start, G_start, B_start = 0, 0, 255  # Start color (Blue)
R_end, G_end, B_end = 192, 192, 192  # End color (Silver)

# Generate gradient
array = get_gradient_3d(img_rgba.width, img_rgba.height, (R_start, G_start, B_start), (R_end, G_end, B_end), (True, False, True))

# Convert gradient to image
gradient_img = Image.fromarray(np.uint8(array))

# Apply QR code as mask to gradient
final_img = Image.alpha_composite(gradient_img.convert('RGBA'), img_rgba)

# Save final image
final_img_path_white_bg = "/mnt/data/gradient_qrcode_white_bg.png"
final_img.save(final_img_path_white_bg)


"""


手順2.カスタムロゴを埋め込む
- 提供されたカスタムロゴを読み込みます。
- ロゴをQRコードより小さくリサイズしますが、元の解像度から色とスケールを適切に維持します。画像は丸く切り取ってください。
- QRコードの中央にロゴを埋め込みます。
- QRコードを生成する。
- 最終的なQRコードを表示し、ダウンロードリンクを提供します。

以上を読んだらすぐに「すべて了解しました。解説を省きすぐに実行します。」から書き始めてください。

エンターを押す前に、ロゴ画像をアップするのを忘れないようにしましょう。

これでエンターを押すと実行してやってくれるはずです。
たまにぐちぐち言いますが「わかりました。実行してください。」という感じで押し切れば作れると思います。

Google Colabで爆速で作成する

すぐ作りたいという人はこちらからどうぞ。コピーして使ってください。

解説:

コードインタープリターは便利ですが、有料プランでないと使えないし、そもそもPythonを実行しているだけなのでプログラムが決まっているならプログラムだけ動かしたほうが早いです。

Pythonはインストールすれば無料で使えますが、環境構築がちょっと大変。

Google Colabはオンライン上でPythonコードを実行できるので誰にでも簡単に使うことができます。

使い方:

必ず最初に、自分のドライブにコピーして使ってください。

できたら必要な情報を入力していきます。
こちらに作成したいURLと、ロゴ画像のパス(場所)を入力してください。

ロゴ画像はcontentフォルダに先にアップロードしておきます。

その後、RGBコードで色を指定します。

255, 255, 255 が白

0, 0, 0 が黒です。それ以外は以下のサイトをご覧ください。

startの色からendの色に向かってグラデーションカラーになります。

あとはランタイム→すべてのセルを実行 で作成できます。

contentフォルダにmyqrcode.pngができていれば成功です。
すぐに表示されないこともあるので、その時はcontentフォルダをたたんでまた展開してみてください。(左の小さい▼マーク)

以上です!

もしよかったら作ったコードをツイッターで教えてください。

それとAI関連の実践的なメルマガも発行してます。よかったらこの機会ご登録ください。無料です。