# Pixel Refiner [English version](./README.md) | [简体中文版](./README.zh-CN.md) ![Pixel Refiner Demo](.github/assets/demo.ja.webp) ### 🚀 今すぐツールを使う: pixel-refiner.app **Pixel Refiner** は、AI生成などで作られたドット絵(ピクセルアート)を、素材やアイコンとして実用的なクオリティに最適化するWebツールです。 アンチエイリアスの除去、グリッドの自動検出、背景透過処理に加え、複数画像の一括処理もブラウザ上で高速に行います。 ![License](https://img.shields.io/badge/license-MIT-blue) ![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue) ![Vite](https://img.shields.io/badge/Vite-5.0-646CFF) ## ✨ 特徴 AIで生成したドット絵は、しばしば「ドットがぼやけている(アンチエイリアスがかかっている)」「グリッドがずれている」「背景が不透明」といった問題を抱えています。Pixel Refinerはこれらを解決します。 - **アンチエイリアス除去**: ぼやけたエッジをシャープなドット絵に変換します。 - **高度なグリッド検出**: 元画像のドットサイズ(ピクセルグリッド)を自動で検出し、最適なサイズに再サンプリングします。 - **グリッド候補選択**: 検出された複数の候補から、最適なサイズをリストから手動で選択可能。 - **柔軟な検出モード**: **自動検出**、**ピクセル指定+自動(Hint)**、**完全ピクセル指定(Force)**、**無効(等倍)** から選択できます。 - **高解像度対応**: 大きな画像や複雑なパターンでも、より正確にグリッドを特定できるアルゴリズムを搭載。 - **高速化オプション**: 大きな画像でも素早くプレビューできる高速推定モード。 - **高度な背景透過**: - **自動モード(既定)**: 画像の外周全体から背景を推定し、グラデーションや軽いノイズを含む背景も透過 - 四隅の色を基準とした透過(手動指定) - **スポイト機能**: クリックで背景色を直接指定可能 - 許容差(Tolerance)の調整 - 「内側の背景」(ドーナツの穴など)の透過 - 論理ピクセル基準で細部を保護する浮きノイズ除去(無効・弱・自動・強) - **減色・パレット変換**: - **レトロゲーム風パレット**: NES (ファミコン), Game Boy, SFC, PC-9801, MSX1, PICO-8 など多数のプリセットを用意。 - **カスタム減色**: Oklab色空間とK-means法を用いた高品質な減色。 - **ディザリング**: Floyd-Steinberg, Bayer (2x2, 4x4, 8x8), Ordered など複数のモードに対応。 - **アウトライン生成**: スプライトに自動で縁取り(アウトライン)を追加します。 - **スタイル**: Rounded (8近傍) または Sharp (4近傍) から選択可能。 - **色指定**: 任意の色で縁取り可能。 - **Auto中心の設定**: 処理方法、細かさ、色数、背景、ディザリング、アウトラインを目的ベースで選べ、技術設定は詳細設定から利用できます。 - **用途別プリセット**: Auto、くっきりスプライト、細部を保持、透過アイコン、色数を制限、写真をドット絵化から選び、独自設定も保存できます。 - **自動トリム**: 余白を自動で削除し、コンテンツサイズに合わせます。 - **サイズ強制変換**: 指定した縦横ピクセル数への強制リサイズも可能です。 - **拡大エクスポート**: ゲームエンジン等での利用に合わせて、x2, x4, ... x32 倍に拡大してダウンロードできます。 - **複数画像の一括処理**: - **一括アップロード**: 複数のファイルを一度にドラッグ&ドロップできます。 - **セッション管理**: 読み込んだ画像の一覧表示、個別の削除、一括クリアが可能です。 - **一括ダウンロード**: 処理済みの全画像をZIP形式でまとめて保存できます。 - **一括リサイズ**: ZIPエクスポート時に、全ての画像に特定の拡大率を一括適用できます。 - **高速な処理**: Web Workerによる非同期処理で、UIをブロックせずに重い画像処理を実行します。 - **トースト通知**: プリセットの保存やダウンロード完了などのアクションをリアルタイムに通知します。 ## 📖 使い方 1. アプリケーションを開きます(ローカル起動またはデプロイ先)。 2. ドロップエリアに画像をドラッグ&ドロップ(またはクリックして選択)します。複数枚の同時読み込みにも対応しています。 3. **「画像一覧」** を使って、処理対象の画像を切り替えられます。 4. **「処理を実行」** ボタンを押すか、**「自動」** をONにすると、最適化されたドット絵が生成されます。 5. 用途プリセットを選ぶか、**処理方法**、**細かさ**、**色数**、**背景**、**ディザリング**、**アウトライン**、**自動トリム**を調整します。 6. グリッド、パレット、許容差、連結判定、強制サイズを厳密に指定するときだけ**詳細設定**を開きます。 7. 結果サイズの横で入力分類、採用route、信頼度を確認します。グリッドの信頼度が低い場合だけ、結果の下に別のドットの大きさが並びます。 8. **「比較」** ビューを使うと、スライダーで元画像と処理結果を見比べることができます。 9. 処理結果が良ければ **「ダウンロード」** ボタンで保存します(右の▼ボタンから拡大率を選択可能)。 10. 複数枚ある場合は、**「一括ダウンロード (ZIP)」** ボタンから全ての画像をまとめてエクスポートできます。 ## 🛠️ 開発 Node.js 24.x と pnpm が必要です。 ```bash pnpm install # 依存関係をインストール pnpm dev # 開発サーバーを起動: http://localhost:5173 pnpm build # 本番用にビルド pnpm test # テストを実行 ``` ### Auto パイプライン Autoが既定の処理パイプラインです。画像ごとに入力を分類し、グリッド復元、 通常画像の変換、安全な原寸維持から処理経路を選びます。グリッド判定の信頼度が 低い場合は、極端な縮小を確定せず、結果の下に別のドットの大きさを並べます。 `make report` を実行すると、同じ fixture に対する現在の出力と ベースラインを比較できます。Pull Requestでも品質ゲートの結果と比較レポートの 要約をGitHub Actionsに掲載します。 ### 品質レポート `main` へマージするたびにレポートを再生成し、次の場所へ公開しています。 レポートは各ケースを固定の目標画像と比べるほか、1つ前のマイナーバージョンの 最終タグから取得した前回リリースの出力とも比べます。`?locale=ja&theme=dark` を付けると、指定した言語と配色で開けます。 ## 補足 本ツールは画像の自動変換・最適化を主目的としています。そのため、一般的なペイントツールのように1ピクセル単位で手動編集する機能の実装予定はございません。 ## ライセンス このプロジェクトは [MIT License](./LICENSE) の下で公開されています。