✂️透過画像分割

透過PNGに配置された複数の絵柄を、連結成分ごとに個別の画像として切り出し。
しきい値・膨張をスライダーで調整、ZIPで一括ダウンロード!

🔧 使い方:
1. 透過画像(PNG推奨)をドロップまたはクリックで選択
2. スライダーで 4パラメータ を調整 → プレビューに色付き枠と番号が即反映
3. サムネイル一覧から個別DL、または 全てZIP で一括DL

🎛 パラメータ解説:
アルファ閾値: α値がこれより大きいピクセルを「占有」として扱う。縁のぼやけた部分を切りたい時は上げる(目安: 10〜50)
膨張: 占有マスクを外側に広げる。放射線(太陽)・装飾点線のように本体と少し離れた要素を1つの塊にまとめたい時に増やす(目安: 1〜3)
最小サイズ: この面積(ピクセル数)より小さい塊は除外。ノイズや小さな装飾は捨てる
出力の余白: 切り出した画像の四辺に加える余白px
連結の種類: 4連結=上下左右のみ / 8連結=斜めも含める(通常は8連結)

🔬 アルゴリズム:
1. RGBA データから α > 閾値 の 占有マスク を生成
2. 膨張処理: 各占有ピクセルの周囲 N px を占有に拡張(N回の8方向拡張)
3. 連結成分ラベリング(BFSフラッドフィル)で各塊に ID を割り振る
4. 最小サイズでフィルタ後、各成分のバウンディングボックスを算出
5. 原画像から bbox +余白 で切り出し、該当ラベル外のピクセルはα=0にしてクリーン透過PNGを生成
6. JSZip でZIP化して一括DL

💡 うまくいかない時:
・全部1つにまとまる → 膨張を0に、アルファ閾値を上げる
・細切れになる(太陽の線がバラバラ等)→ 膨張を2〜3に上げる
・ゴミが混じる → 最小サイズを上げる
・絵同士が重なっている → 連結成分抽出では分離不可(元画像で分離が必要)

⌨ ショートカット:
Ctrl+A 全選択 / Esc 全解除 / Ctrl+Enter 全ZIP DL