Skip to content

mf235/icon-sprite-cutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Icon Sprite Cutter

スクリーンショット

機能概要

Icon Sprite Cutter は、1枚の画像に並んだアイコンやスプライトを、個別のPNGパーツとして切り出すためのGUIツールです。 透過PNGベースの自動検出、グリッド分割、手動調整、一括リサイズまでまとめてできます。

主な機能

  • 日本語対応のGUIツール

  • 画像ファイルのドラッグ&ドロップ読み込みに対応

  • PNG / WebP / JPG / JPEG / BMP / GIF などを読み込み可能

  • 透過PNGの不透明部分をもとにした自動パーツ検出

  • 列数・行数を指定するグリッド分割

  • 検出した切り抜き枠をプレビュー上で確認

  • 切り抜き枠の移動・リサイズ・追加・削除に対応

  • icon001.png, icon002.png のような連番ファイル名で保存可能

  • 保存時の一括リサイズに対応

    • 縦横比維持
    • 縦横比無視
  • 出力形式はPNG

  • 設定を保存し、次回起動時に引き継ぎ

一言で言うと

「スプライトシートやアイコン一覧画像を、まとめてPNGパーツ分けするツール」

使い方

  1. アプリを起動する

    ターミナルで以下を実行します。

    python icon-sprite-cutter.py

    必要なライブラリが入っていない場合は、先にインストールしてください。

    pip install pillow tkinterdnd2
  2. ファイルを読み込む

    「画像を開く」ボタンから画像を選択するか、ウィンドウに画像ファイルをドラッグ&ドロップします。

    対応形式の例:

    • PNG
    • WebP
    • JPG / JPEG
    • BMP
    • GIF

    透過PNGを使うと、自動検出が特にきれいに動きます。

  3. 設定を行う

    用途に合わせて分割モードを選びます。

    • 自動検出(透過ベース)

      • 透過PNGの不透明部分を検出して、自動で切り抜き枠を作ります。
      • アイコン同士が離れている画像に向いています。
    • グリッド分割

      • 列数・行数を指定して、画像を均等に分割します。
      • 4列×3行のアイコンシートなど、きれいに並んだ画像に向いています。

    ファイル名も指定できます。

    • 接頭辞: icon
    • 開始番号: 1
    • 桁数: 3

    この場合、以下のように保存されます。

    icon001.png
    icon002.png
    icon003.png
    ...
    

    保存時にサイズをそろえたい場合は、一括リサイズを使います。

    • W: 出力幅
    • H: 出力高さ
    • 縦横比維持: 指定サイズの透明キャンバスに中央配置
    • 縦横比無視: 指定サイズにそのままリサイズ
  4. プレビューを確認

    「検出 / 更新」を押すと、画像上に切り抜き枠が表示されます。

    検出された枠は、プレビュー上で調整できます。

    • ドラッグで移動
    • 枠の端をドラッグしてリサイズ
    • 矩形を追加
    • 選択削除
    • 全削除

    自動検出が少しズレた場合でも、手動で直してから保存できます。

  5. 書き出しを実行する

    保存先フォルダを指定して「全保存」を押すと、検出されたパーツがPNGとして一括保存されます。

    上書き確認は行わず、同名ファイルがある場合はそのまま上書きします。 連番画像を何度も作り直す用途では、このほうが楽です。

おすすめ設定例

透過PNGのアイコンシートを切り抜く場合

  • 分割モード: 自動検出(透過ベース)
  • アルファしきい値: 1
  • 最小幅: 16
  • 最小高さ: 16
  • 余白: 0

アイコン同士がしっかり離れている場合は、この設定でかなり安定します。

4列×3行のアイコンシートを切り抜く場合

  • 分割モード: グリッド分割
  • 列: 4
  • 行: 3
  • 必要に応じて、左余白・上余白・横間隔・縦間隔を調整

同じサイズの枠で並んでいる素材は、グリッド分割のほうが確実です。

出力サイズを全部そろえたい場合

  • 保存時にリサイズする: ON
  • W: 200
  • H: 200
  • モード: 縦横比維持

ゲーム用アイコンなど、全部同じサイズにしたい場合に便利です。 縦横比維持では透明キャンバスに中央配置されるので、絵がつぶれません。

必要環境

  • Python 3.10以上
  • Pillow
  • tkinterdnd2

tkinter は通常 Python に同梱されています。 ドラッグ&ドロップ機能を使う場合は tkinterdnd2 が必要です。

pip install pillow tkinterdnd2

もし tkinterdnd2 が入っていない環境でも、「画像を開く」ボタンから読み込めば基本機能は使えます。

ライセンス

MIT License で公開しています。 ご自由に使って、改変して、参考にしてください。 ただし自作発言はNGでお願いします。

About

Icon Sprite Cutter は、1枚の画像に並んだアイコンやスプライトを、個別のPNGパーツとして切り出すためのGUIツールです。透過PNGベースの自動検出、グリッド分割、手動調整、一括リサイズまでまとめてできます。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages