Icon Sprite Cutter は、1枚の画像に並んだアイコンやスプライトを、個別のPNGパーツとして切り出すためのGUIツールです。 透過PNGベースの自動検出、グリッド分割、手動調整、一括リサイズまでまとめてできます。
-
日本語対応のGUIツール
-
画像ファイルのドラッグ&ドロップ読み込みに対応
-
PNG / WebP / JPG / JPEG / BMP / GIF などを読み込み可能
-
透過PNGの不透明部分をもとにした自動パーツ検出
-
列数・行数を指定するグリッド分割
-
検出した切り抜き枠をプレビュー上で確認
-
切り抜き枠の移動・リサイズ・追加・削除に対応
-
icon001.png,icon002.pngのような連番ファイル名で保存可能 -
保存時の一括リサイズに対応
- 縦横比維持
- 縦横比無視
-
出力形式はPNG
-
設定を保存し、次回起動時に引き継ぎ
「スプライトシートやアイコン一覧画像を、まとめてPNGパーツ分けするツール」
-
アプリを起動する
ターミナルで以下を実行します。
python icon-sprite-cutter.py
必要なライブラリが入っていない場合は、先にインストールしてください。
pip install pillow tkinterdnd2
-
ファイルを読み込む
「画像を開く」ボタンから画像を選択するか、ウィンドウに画像ファイルをドラッグ&ドロップします。
対応形式の例:
- PNG
- WebP
- JPG / JPEG
- BMP
- GIF
透過PNGを使うと、自動検出が特にきれいに動きます。
-
設定を行う
用途に合わせて分割モードを選びます。
-
自動検出(透過ベース)
- 透過PNGの不透明部分を検出して、自動で切り抜き枠を作ります。
- アイコン同士が離れている画像に向いています。
-
グリッド分割
- 列数・行数を指定して、画像を均等に分割します。
- 4列×3行のアイコンシートなど、きれいに並んだ画像に向いています。
ファイル名も指定できます。
- 接頭辞:
icon - 開始番号:
1 - 桁数:
3
この場合、以下のように保存されます。
icon001.png icon002.png icon003.png ...保存時にサイズをそろえたい場合は、一括リサイズを使います。
- W: 出力幅
- H: 出力高さ
- 縦横比維持: 指定サイズの透明キャンバスに中央配置
- 縦横比無視: 指定サイズにそのままリサイズ
-
-
プレビューを確認
「検出 / 更新」を押すと、画像上に切り抜き枠が表示されます。
検出された枠は、プレビュー上で調整できます。
- ドラッグで移動
- 枠の端をドラッグしてリサイズ
- 矩形を追加
- 選択削除
- 全削除
自動検出が少しズレた場合でも、手動で直してから保存できます。
-
書き出しを実行する
保存先フォルダを指定して「全保存」を押すと、検出されたパーツがPNGとして一括保存されます。
上書き確認は行わず、同名ファイルがある場合はそのまま上書きします。 連番画像を何度も作り直す用途では、このほうが楽です。
- 分割モード: 自動検出(透過ベース)
- アルファしきい値:
1 - 最小幅:
16 - 最小高さ:
16 - 余白:
0
アイコン同士がしっかり離れている場合は、この設定でかなり安定します。
- 分割モード: グリッド分割
- 列:
4 - 行:
3 - 必要に応じて、左余白・上余白・横間隔・縦間隔を調整
同じサイズの枠で並んでいる素材は、グリッド分割のほうが確実です。
- 保存時にリサイズする: ON
- W:
200 - H:
200 - モード: 縦横比維持
ゲーム用アイコンなど、全部同じサイズにしたい場合に便利です。 縦横比維持では透明キャンバスに中央配置されるので、絵がつぶれません。
- Python 3.10以上
- Pillow
- tkinterdnd2
tkinter は通常 Python に同梱されています。
ドラッグ&ドロップ機能を使う場合は tkinterdnd2 が必要です。
pip install pillow tkinterdnd2もし tkinterdnd2 が入っていない環境でも、「画像を開く」ボタンから読み込めば基本機能は使えます。
MIT License で公開しています。 ご自由に使って、改変して、参考にしてください。 ただし自作発言はNGでお願いします。