仕分けアプリの続き
前回は写真を仕分けるためのデスクトップアプリを作りました
キーボードのキーを1つ押すだけで写真を指定フォルダへ移動できるやつです。
ついでに機能を色々と付け足していこうと思います
Instagramに投稿用にリサイズしたい。
Instagramのポートレート投稿は縦横比が 4:5(1080×1350px)。
一眼で撮った写真は基本的に 3:2 なので、そのままだとサイドが切れるか、
Instagramのアプリ側で自動トリミングされてしまいます。
せっかくの構図が崩れるのは嫌なので、余白(黒帯)を付けてアスペクト比を合わせたい。
1枚だけなら手作業でも何とかなりますが、投稿したい写真が10〜20枚あると流石に面倒です。
というわけで、アプリにInstagram用の一括リサイズ機能を追加しました。
Instagram用リサイズ機能
ツールバーの「📸 Instagramリサイズ」ボタンを押してフォルダを選ぶと、 そのフォルダ内の写真を全部まとめて変換してくれます。
[f:id:sight_water:xxxxxxxxxx:plain]
処理の内容はこんな感じ:
- 元の縦横比を保ったままInstagramのポートレートサイズ(1080×1350px)に収まるようリサイズ
- 余白部分は黒で埋める
- 変換後のファイルは元フォルダ内の
instagramサブフォルダに保存(元ファイルは残る) - 処理中はプログレスバーで進捗を確認できる
保存はJPEG quality=95で行っているので、画質の劣化もほぼ気になりません。
変換後はそのままInstagramのアプリにドラッグするだけで投稿できます。
[f:id:sight_water:xxxxxxxxxx:plain]
ちなみにGIFやアニメーション画像は最初のフレームだけ使い、透明チャンネルがある画像は黒背景に合成します。
一眼のRAW現像済みJPEGはもちろん、スマホで撮ったPNGやWebPにも対応しています。
他にも細かく機能を追加した
せっかくなのでついでに欲しいと思っていた機能もまとめて追加しました。 軽く紹介だけしておきます。
- 🔲 モザイク ― ドラッグで選んだ範囲をピクセル化。粗さは3段階から選択。 写真に映り込んだ個人情報を隠してからSNSに上げたいときに。
- ✂ トリミング ― 選んだ範囲だけ切り抜いて上書き保存。確認ダイアログあり。
- ↺↻↔ 回転・反転 ― ツールバーボタンで即時に回転・水平反転。EXIF情報がおかしい写真の向き直しに。
- ⊞ グリッド表示 ― 写真を一覧で見られるサムネイル表示モード。 クリックするとその写真の1枚表示に切り替わる。
- ★ 評価・フラグ ― 仕分け中に写真へ1〜5の星評価とフラグをつけられる。 設定ファイルに保存されるので次回起動後も残る。
- 🗑 削除 ― Delete キーでゴミ箱へ送る。 「明らかにいらない」写真をその場で片付けられる。
インストールと起動
pip install Pillow python photo_sorter.py
Windows の場合は photo_sorter.vbs をダブルクリックするだけでターミナルなしに起動できます。
ゴミ箱送りを使う場合は追加で以下も。
pip install send2trash

