見出し画像

【就労移行支援】ドット絵作成アプリをChatGPTだけで作ってみた。

みなさん、こんにちは。

今回の記事で紹介するコードは全てChatGPTだけで作成しました。

なので、プログラミング初心者の方でも作る事ができます!

作成したプログラム

今回はドット絵作成アプリをpythonで作成しました。
自分の持っているイラストや写真などの画像をドット柄に変換するアプリです。

アプリを使う際の画像は、以下のものを使いました。

イラスト屋で拾ってきた画像です。
変換後の画像は以下のようになります。

ドット柄に変わっています。

プロンプト

コードを作成する際のプロンプトは以下の通りです。

1つ目の命令

pythonで画像を読み込んで、ドット絵に変更するコードを作成してください。

2つ目の命令

上記のファイルパスをtkinterを使ってファイルを読み込めるようにしてください。

3つ目の命令

上記のコードを元の画像のサイズにリサイズをして、新規に保存する機能を追加してください。

1つ目だけでもできますが、より使いやすいように2つ目と3つ目の命令を追加しました。

完成したコード

import tkinter as tk
from tkinter import filedialog
from PIL import Image
from tkinter import messagebox

def convert_and_save_dot_image(input_image_path, new_width=64, palette_size=16):
    """
    画像をドット絵に変換し、元のサイズにリサイズして保存する関数。
    
    :param input_image_path: 変換元の画像パス
    :param new_width: ドット絵の幅(ピクセル単位)
    :param palette_size: 使用する色の数
    """
    try:
        with Image.open(input_image_path) as img:
            original_size = img.size  # 元のサイズを保存
            # 画像のアスペクト比を保持しながら幅を new_width にリサイズ
            new_height = round((new_width * img.height) / img.width)
            img = img.resize((new_width, new_height), resample=Image.NEAREST)
            
            # オプション:画像の色数を減らしてドット絵風にする
            img = img.quantize(colors=palette_size)
            
            # 元のサイズにリサイズ
            img = img.resize(original_size, Image.NEAREST)
            
            # 保存先のファイルパスをユーザーに選択させる
            file_path = filedialog.asksaveasfilename(defaultextension=".png")
            if not file_path:
                return  # ユーザーがキャンセルした場合は何もしない
            img.save(file_path)
            messagebox.showinfo("Success", "Image saved successfully!")
    except Exception as e:
        messagebox.showerror("Error", "Failed to convert and save the image: " + str(e))

def open_file_dialog():
    """
    ファイル選択ダイアログを開き、選択された画像をドット絵に変換して保存する。
    """
    file_path = filedialog.askopenfilename()
    if file_path:
        convert_and_save_dot_image(file_path)

# Tkinter GUIのセットアップ
root = tk.Tk()
root.title("Image to Dot Art Converter and Saver")

open_button = tk.Button(root, text="Open Image and Save", command=open_file_dialog)
open_button.pack(pady=20)

root.mainloop()

このコードはChatGPTからコピーしてそのまま持ってきたものですが、ドット絵作成アプリが起動し、エラーが起きることなく、きちんと使うことができます。

まとめ

今回はChatGPTを使ってアプリを作る方法を紹介しました。
ChatGPTを使えば、自分の命令だけで様々な作品を作ることができますので、皆さんもやってみてください。

また、就労移行支援事業所フェーズワンではChatGPTを使用した講座があります。
この講座を利用すれば、ChatGPTを使うことができるようになりますので、
気になる方はぜひHPを見てみてください。

今回もありがとうございました。


この記事が気に入ったらサポートをしてみませんか?