こんばんは。
ChatGPTでLINEスタンプを制作しているmomoです。
ChatGPTで何とかLINEスタンプ40個を作れたものの、よく見ると、画像サイズがめちゃくちゃ大きいことに気づきました(´;ω;`)
プロンプトでちゃんとサイズ指定したはずなんですが、そのサイズになっていませんでした。
何でかな・・・。
LINEスタンプは、LINEのルールで決められたサイズがあるので、40個全部それに変更しないといけません。。。
さて、どうするか。
そこで今回は、Pythonで一括変換してみることにしました。
Pythonで画像サイズを変更するには
さて、実は私はPythonはまだ初心者レベルで、実務ではほんの少し触ったことがあるぐらいです。
なので、どう書けばいいのか、これまたChatGPTに聞いて教えてもらうことにしました。
もうほんとに、最近は何でもかんでもChatGPTになっちゃってます(^^♪
こう聞いてみました。

Pythonで、あるフォルダにある全画像を、LINEスタンプ用サイズに変更する方法を教えて
すると、一瞬でコードを教えてくれました。
from PIL import Image
import os
# 入力フォルダと出力フォルダのパスを指定
input_folder = "XXX\XXX"
output_folder = "XXX\XXX"
os.makedirs(output_folder, exist_ok=True)
image_extensions = ['.jpg', '.jpeg', '.png', '.bmp', '.gif']
for filename in os.listdir(input_folder):
if any(filename.lower().endswith(ext) for ext in image_extensions):
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, filename)
with Image.open(input_path) as img:
resized_img = img.resize((320, 320), Image.LANCZOS)
resized_img.save(output_path)
print("すべての画像を縦横320pxにリサイズしました。")
おー!
素晴らしい。一瞬で完成しました。
一部よくないところは自分で修正
python初心者の視点ですが一応さっと確認してみることに。
すると、
最初のフォルダパスを指定するところが、たぶんダメ。
Windowsだと「¥」がエスケープ文字として誤認識されますね、たぶん。
なので、raw文字列をつけて書き直しました。
# 入力フォルダと出力フォルダのパスを指定
input_folder = r"XXX\XXX"
output_folder = r"XXX\XXX"
パスの先頭にrをつけるだけでOKです。
Pythonなら一瞬でサイズ変更可能
で、これで実行すると、一瞬で全40画像が変更されました。
本当に一瞬で、体感2秒ぐらいです。
いやぁPythonって本当にサクッとコードかけて、すぐ実行できて、めちゃくちゃ便利ですね。
しかも、基本さえ一通り学んでいれば、生成AIに助けてもらって簡単にカスタマイズするだけでいい時代。
便利すぎます(^^♪