スプライト抽出ツール
Drop files here or click (max 12 MB)
このスプライト抽出ツールを使う理由
- 透明度と設定可能なしきい値に基づく自動スプライト検出
- 各スプライト周囲の透明ボーダーをオプションでトリミングするクリーンなクロップ
- パディング、配置(中央/下部)とオプションの均一な出力サイズを制御
- PNGエクスポートで透明度(アルファチャンネル)を保持 - タイルマップやキャラクターに最適
- 検出された全スプライトのビジュアルギャラリーでダウンロード前に素早く確認
- JSZipを使用したクライアントサイドZIPエクスポート、ファイル名とスプライト順序を安定保持
- Scratch対応:単一のスプライトシートを複数のコスチュームやアセットに素早く変換
- エンジン間(Scratch、Godot、Unity 2D、Phaserなど)でのアセット再利用に最適
🛠️ スプライトシートからスプライトを抽出する方法 for sprite-extractor
1. 画像をドロップ
スプライトシートまたは画像をドロップゾーンにドラッグ&ドロップするか、クリックしてファイルを選択します。最良の結果を得るには、透明背景のPNGまたはスプライトと背景のコントラストが高い画像を使用してください。
2. 自動検出を実行
ツールは画像の軽量な表現を検出エンドポイントに送信し、透明度と最小サイズに基づいて各スプライトのバウンディングボックスを計算します。ボックスは画像上にオーバーレイ表示され、エクスポートされる内容を素早く確認できます。
3. 抽出オプションを調整
パディング、透明背景 vs 単色背景、透明エッジのトリミング、配置(中央または下部)、オプションの均一な出力幅/高さを調整します。ツールは各スプライトキャンバスをそれに応じて再構築します。
4. スプライトをプレビュー
生成されたスプライトのギャラリーをスクロールして確認します。各プレビューはオフスクリーンキャンバスを使用してクライアント側で構築され、UIオプションに応じて名前変更や削除が可能です。
5. PNGまたはZIPをダウンロード
個別のPNGスプライトをエクスポートするか、現在の全プレビューを含む単一のZIPファイルをダウンロードします。ZIPはJSZipを使用してクライアント側で構築され、ファイル名は<code>sprite_0000.png</code>、<code>sprite_0001.png</code>などの連番パターンに従います。
技術仕様
検出とバウンディングボックス
検出フェーズは専用のバックエンドエンドポイントで実行され、クライアントが最終スプライトを構築するために使用するクリーンなバウンディングボックスを返します。
| 項目 | 動作 | 備考 |
|---|---|---|
| 検出エンドポイント | POST /api/sprite-extractor/inspect | データURLと検出オプションを受け付け、スプライトボックスの配列を返します。 |
| 検出入力 | 許容値、アルファ閾値、最小幅、最小高さ | UIでこれらのパラメータを調整して、微小なノイズを無視したり、意味のあるスプライトのみを捕捉したりできます。 |
| ボックス形状 | 軸に整列した矩形 | 各<code>SpriteBox</code>は、ソース画像座標における<code>x</code>、<code>y</code>、<code>width</code>、<code>height</code>を保持します。 |
| 透過処理 | アルファ対応 | 透過ピクセルはクロップ/トリミングの判断に寄与しますが、出力で保持することができます。 |
| エラー処理 | 適切なフォールバック | 検出が失敗した場合、ツールは読み取り可能なエラーを表示し、UIを破損させません。 |
クロップ、トリミング & 整列
ボックスが判明すると、すべてのスプライトレンダリングはHTMLキャンバスを使用してブラウザで行われます。
| ステップ | 実装 | 詳細 |
|---|---|---|
| 初期クロップ | drawImage(img, box.x, box.y, w, h, 0, 0, w, h) | 各スプライトは最初に元の画像から一時キャンバスにクロップされます。 |
| 透過トリミング | getImageDataによるアルファチャネルのスキャン | トリミングが有効な場合、ツールは最小の非透過バウンディングボックスを計算するためにピクセルをスキャンします。 |
| パディング | 設定可能 0–256 px | トリミングまたはクロップされたスプライトの周囲にパディングが適用され、エンジンでのエッジアーティファクトを軽減します。 |
| 整列 | 中央 / 下部 | スプライトは中央揃えまたは下部揃えにできます(ベースライン上に立つキャラクターに有用)。 |
| 均一な出力サイズ | オプションのspriteWidth / spriteHeight | 有効にすると、すべてのスプライトは固定サイズのキャンバスにレンダリングされ、アニメーションを標準化します。 |
| 背景 | 透過または単色 | 完全な透過性を保持するか、選択した背景RGBA色でキャンバスを塗りつぶします。 |
パフォーマンス & 制限
ブラウザでの対話的使用向けに設計されています。
| パラメータ | 典型的な動作 | 備考 |
|---|---|---|
| 最大入力サイズ | 約10MBの画像 | より大きなファイルも動作する可能性がありますが、読み込み/検出が遅くなります。 |
| スプライト数 | 最大約400スプライト | 非常に高い数も可能ですが、プレビューのレンダリングとZIP作成に時間がかかります。 |
| エクスポート形式 | ZIP内のPNG(Blob) | ZIPはJSZipを使用して完全にクライアント側で生成されます。 |
| キャンバス操作 | スプライトごとの切り抜きと描画 | ブラウザの2DキャンバスAPIに依存します。パフォーマンスは解像度と数に比例します。 |
コマンドライン代替手段
大規模なスプライトシートや自動化パイプラインには、ImageMagickなどのCLIツールとスクリプトを組み合わせることができます。
Linux / 🍎 macOS
ImageMagickを使用した均一グリッド切り抜き
convert spritesheet.png -crop 64x64 +repage sprite_%04d.png規則的な64×64グリッドを個別のPNGファイルに切り分けます。
すべてのスプライトをZIP化
zip sprites.zip sprite_*.png生成されたすべてのスプライトを単一のアーカイブにパッケージ化します。
Windows (PowerShell + ImageMagick)
グリッドベースの切り抜き
magick spritesheet.png -crop 64x64 +repage sprite_%%04d.pngWindowsで<code>magick</code> CLIを使用する上記と同じ操作です。
実用的なユースケース
2Dゲーム開発
- Godot、Unity 2D、Phaser、Construct用のスプライトシートからキャラクターアニメーションフレームを抽出。
- デザインモックアップからUI要素(ボタン、アイコン、ヘルスバー)を分離。
- レベルエディタ用にタイルセットを個々のタイルに分解。
// Godot例: 複数フレームを読み込む\nvar frames = []\nfor i in range(0, 8):\n frames.append(load(\"res://sprites/hero_walk_\" + str(i).pad_zeroes(2) + \".png\"))Scratch & 教室プロジェクト
- 単一のスプライトシートをScratchキャラクター用の複数のコスチュームに変換。
- プログラミングワークショップ用にテーマ別アセットパック(動物、惑星、アイコン)を準備。
- 生徒が描画ツールでスプライトシートをデザインし、Scratch用に抽出できるようにする。
// シンプルなアニメーションのScratch風疑似コード\nwhen green flag clicked\nforever\n next costume\n wait 0.1 secondsピクセルアート & アセットライブラリ
- 古いピクセルアートシートを検索可能な個別スプライトのライブラリに分割します。
- 大規模な商用またはオープンソースパックから必要なアセットのみを抽出します。
- 異なるソースからのスプライト間のパディングと配置を統一します。
❓ Frequently Asked Questions
❓スプライト検出は完全に自動ですか?
📏エクストラクタは元の画像を変更しますか?
🎯パディングと配置を制御できますか?
🔒画像はサーバーに保存されますか?
🧊エクスポートされたスプライトで透過性は保持されますか?
Pro Tips
各スプライトの周囲に少量のパディング(2–4 px)を使用して、エンジンでのスケーリングや回転時のエッジブリードを防止します。
スプライトに一貫した名前(例:<code>hero_run_0001.png</code>、<code>hero_run_0002.png</code>)を付けて、アニメーションのインポートとスクリプト作成を簡素化します。
教育現場では、非常にシンプルなスプライトシート(少ない大きなスプライト、明確な背景)から始めて、生徒が即座に結果を確認できるようにします。
エクスポートしたZIPをプロジェクトのソースファイルと一緒に保管して、後でアニメーションを簡単に再生成または調整できるようにします。
Additional Resources
Other Tools
- CSSビューティファイア
- HTMLビューティファイア
- JavaScriptビューティファイア
- PHPビューティファイア
- カラーピッカー
- Base64デコーダー
- Base64エンコーダー
- C#フォーマッタ
- CSVフォーマッタ
- Dockerfile Formatter
- Elmフォーマッタ
- ENVフォーマッタ
- Goフォーマッタ
- GraphQLフォーマッタ
- HCLフォーマッタ
- INIフォーマッタ
- JSONフォーマッタ
- LaTeXフォーマッタ
- Markdownフォーマッタ
- Objective-Cフォーマッタ
- Php Formatter
- Protoフォーマッタ
- Pythonフォーマッタ
- Rubyフォーマッタ
- Rustフォーマッタ
- Scalaフォーマッタ
- シェルスクリプトフォーマッタ
- SQLフォーマッタ
- SVG フォーマッタ
- Swift フォーマッタ
- TOML フォーマッタ
- Typescript Formatter
- XML フォーマッタ
- YAML フォーマッタ
- Yarn フォーマッタ
- CSSミニファイア
- Html Minifier
- Javascript Minifier
- JSONミニファイア
- XML ミニファイア
- HTTPヘッダービューア
- PDFからテキストへ
- 正規表現テスター
- SERPランクチェッカー
- Whois ルックアップ