Pythonで写真をリサイズするツールを作成

写真をリサイズ 備忘録

※Pythonで自動でリサイズ&軽量化するツールを作成する方法です

pythonがインストールされているか確認

コマンドプロンプトを開く

リサイズ関連 「Windowsキー + R」を押し、cmd と入力して Enter を押す

Pythonのバージョンを確認するコマンドを入力

リサイズ関連 python --versionと入力して Enter

Python 3.12.4 と表示されたので、インストールされています。

インストールされていない場合は、「Python インストール」などと検索すると、方法がたくさんでてくるので、インストールしましょう。

Pillow(画像処理ライブラリ)をインストール

コマンドプロンプトでインストール

リサイズ関連 pip install pillow

これでインストールされる

インストールされていることを確認

リサイズ関連 「pip list」と入力

インストールされているライブラリのバージョンがリストアップされる

リサイズ用のコードを用意する

メモ帳などに下記コードを入力(コピペ)

from PIL import Image
import os# === 設定 ===
input_dir = “photos_original” # 元画像フォルダ
thumb_dir = “photos_thumb” # サムネイル出力先
highres_dir = “photos_hd” # 高画質出力先
thumb_long_side = 600 # サムネイル長辺(px)
highres_long_side = 2000 # 高画質長辺(px)
thumb_quality = 85
highres_quality = 90# === 出力先を作成 ===
os.makedirs(thumb_dir, exist_ok=True)
os.makedirs(highres_dir, exist_ok=True)# === ファイル処理 ===
photo_list = []
for filename in sorted(os.listdir(input_dir)):
if filename.lower().endswith((‘.jpg’, ‘.jpeg’, ‘.png’)):
input_path = os.path.join(input_dir, filename)with Image.open(input_path) as img:
w, h = img.size# — サムネイル作成 —
ratio_thumb = thumb_long_side / max(w, h)
new_thumb = (int(w * ratio_thumb), int(h * ratio_thumb)) if ratio_thumb < 1 else (w, h)
thumb_img = img.resize(new_thumb, Image.LANCZOS).convert(“RGB”)
thumb_img.save(os.path.join(thumb_dir, filename), “JPEG”, quality=thumb_quality, optimize=True)# — 高画質作成 —
ratio_hd = highres_long_side / max(w, h)
new_hd = (int(w * ratio_hd), int(h * ratio_hd)) if ratio_hd < 1 else (w, h)
hd_img = img.resize(new_hd, Image.LANCZOS).convert(“RGB”)
hd_img.save(os.path.join(highres_dir, filename), “JPEG”, quality=highres_quality, optimize=True)photo_list.append(filename)
print(f”{filename}: thumb {new_thumb}, hd {new_hd}”)# === HTML用リストを出力 ===
output_js = “photos.js”
with open(output_js, “w”, encoding=”utf-8″) as f:
f.write(“// 自動生成された写真リスト\n”)
f.write(“const photos = [\n”)
for name in photo_list:
f.write(f’ “{name}”,\n’)
f.write(“];\n”)
print(f”\n✅ {len(photo_list)} 枚処理しました。”)
print(f”📄 写真リストを {output_js} に出力しました。”)

ファイル名は、拡張子 .py で保存

resize_photos.py(例) として保存
必ず、拡張子 .py で.pyとは、Pythonで書かれたプログラムコードを含むファイルの拡張子 です。

写真の大きさを調整する

設定部分
thumb_long_side = 600 # サムネイル長辺(px)
highres_long_side = 2000 # 高画質長辺(px)
thumb_quality = 85
highres_quality = 90
は、自由に変更して調整する

フォルダと写真の準備

リサイズ関連 自分が作成したい場所にフォルダを準備

C:\ に photoフォルダを作成し

その中に
photos_original ← 元の写真をいれる

↓自動生成されるフォルダ
photos_thumb  ← ギャラリー用(幅600px)
photos_hd  ← 高画質用(長辺2000px)

ここに、resize_photos.py
をおく

 

プログラムの実行

フォルダの場所を確認

リサイズ関連 エクスプローラーで、
resize_photos.py
右クリックプロパティ場所:C:\photo
をコピーする。

その後、プログラムの実行時は
resize_photos.py
をコピーします。

コマンドプロンプトを開く

リサイズ関連 「Windowsキー + R」を押し、cmd と入力して Enter を押す

フォルダの場所に移動

リサイズ関連 コマンドプロンプト画面で、
cd C:\photo
と入力(コピペ)し、リターン

C:\photo> に移動する

実行

リサイズ関連 resize_photos.py
リターン

プログラムが実行されます。

写真を確認

オリジナル

リサイズ関連

thumb  ギャラリー用

リサイズ関連

hd  高画質用

リサイズ関連

自動生成された写真リスト

photos.js が自動生成

リサイズ関連 実行されると、同時に
photos.js
が作成される。 
リサイズ関連 メモ帳などで、開くとリストが表示される。
これは、アルバムサイトを作成するときに利用できる

コメント

タイトルとURLをコピーしました