post-process-logo について
ボールトプロトコルの元ロゴを、標準的な 256×256 の PNG に変換するスキルです。適切な画像バリアントを選び、余白を加えて正方形に整えます。
主な機能
- 01元ロゴの一覧化と分類
- 02適切なロゴバリアントの選択
- 03非正方形画像への透明余白の追加
- 04256×256 PNG への変換と縮小
- 05ライト版とダーク版の作成
活用シーン
- 01ボールトプロトコルのメタデータ用ロゴの準備
- 02横長または縦長ロゴの正方形化
- 03ライト背景用とダーク背景用のロゴ作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tradingstrategy-ai/ web3-ethereum-defi --skill post-process-logoインストール後、Claude Code で/post-process-logoを入力して読み込まれたか確認します。
詳細
ロゴの後処理
このスキルは、元のロゴ画像を、ボールトプロトコルのメタデータに適した標準化済みの 256x256 PNG 形式に変換します。利用可能なロゴの中から最も正方形に近いバリエーションを自動的に選択し、必要に応じて余白を追加して正方形の出力を作成します。
必要な入力
開始する前に、以下の情報をユーザーから収集してください。
- 入力フォルダー - 元のロゴファイルが含まれるフォルダー(例:
eth_defi/data/vaults/original_logos/protocol-name/) - 出力フォルダー - 処理済みのロゴを保存するフォルダー(例:
eth_defi/data/vaults/formatted_logos/) - バリエーションの指定(任意) - 処理するバリエーション:
generic、light、dark、またはall
必要な入力が不足している場合は、処理を進める前にユーザーに確認してください。
前提条件
以下が利用できることを確認してください。
- Python の依存関係がインストール済みであること:
poetry install --with dev
画像形式、寸法、透過を検出するために、Python Pillow がインストールされています。
ロゴの用語
ロゴファイルのダーク版とライト版にアーティストが付ける名前について、共通の標準はありません。このプロジェクトでは、常に次のように定義します。
light:暗い背景または透明な背景に配置された明るい(白い)文字dark:白い背景または透明な背景に配置された暗い(黒い)文字
以下の用語を使用します。
- ブランドマーク:ロゴマークと同じで、ブランド名の文字を含まないロゴ
- ワードマーク:ブランド名の文字を含むロゴ
ステップ 1:入力ロゴの一覧確認
入力フォルダー内のすべての画像ファイルを一覧表示し、分類します。
- ファイル形式を特定します:SVG、PNG、JPG、WEBP など
- ファイル名に基づいてバリエーションを分類します:
{slug}.generic.{ext}- 汎用/デフォルトのテーマ{slug}.light.{ext}- 明るい背景のテーマ(暗いロゴ){slug}.dark.{ext}- 暗い背景のテーマ(明るいロゴ)
- 後処理用のソースロゴには、必ずワードマークよりブランドマークを優先します
- 各ロゴのアスペクト比を確認します:
- 正方形のアスペクト比:幅と高さが同じ(比率 1:1)。元データでまれに 1 ピクセルの誤差が発生する場合があるため、検出では 90% の許容範囲を設けます。
- 正方形以外:幅と高さが異なり、正方形にするには余白の追加が必要です
- ロゴの背景が透明かどうかを確認します:
- 透明な背景:アルファチャンネルによる透過を含む PNG ファイル
- SVG は常に透明とみなす:元の SVG ファイルに単色の背景が含まれていてはなりません
- 各バリエーションのアスペクト比を明記して、確認結果をユーザーに報告します
ステップ 2:バリエーションの選択
自動選択の優先順位
- 最も正方形に近いバリエーションを選択:各バリエーションのアスペクト比(短辺 / 長辺)を計算し、1.0 に最も近いものを選択します
- 正方形に近い度合いが同じバリエーションが複数ある場合:
- 透明なバリエーション(アルファチャンネル付き PNG、SVG)を優先します
- それでも同じ場合は、generic > light > dark の順で優先します
- ユーザーがバリエーションを指定した場合:正方形に近い度合いにかかわらず、指定されたバリエーションを使用します
ステップ 3:ロゴの処理
選択したロゴのバリエーションを処理します。スクリプトは、正方形以外のロゴを拡大縮小する前に、正方形にするための余白を自動的に追加します。
export INPUT_IMAGE=/path/to/original/logo.png
export OUTPUT_IMAGE=/path/to/output/logo.generic.png
poetry run python scripts/logos/post-process-logo.py
スクリプトは以下を実行します。
- 必要に応じて SVG を PNG に変換します
- ロゴを正方形にするため、透明な余白を追加します(正方形以外の場合)
- 背景がまだ透明でない場合は、背景を削除します
- 暗い背景で見えるように、必要に応じてロゴの色を変更します(ロゴが暗すぎる場合は色を反転します)
- 余分な余白を取り除き、256x256 に拡大縮小します
ステップ 4:結果の報告
以下の情報をユーザーに提供します。
- 処理済みファイル - 作成した出力ファイルの一覧
- ファイルの詳細 - 各ファイルの寸法とサイズ
- 問題点 - 処理できなかったロゴや、品質上の問題があったロゴを記載します
出力ファイルの命名規則
出力ファイルには、次の命名パターンを使用します。
{protocol-slug}/light.png- 明るい背景用{protocol-slug}/dark.png- 暗い背景用
トラブルシューティング
SVG 変換の問題
SVG の変換に失敗する場合:
- SVG ファイルが有効な XML か確認してください
- 複雑な SVG は正しくレンダリングされないことがあります
- ブラウザーで開いて、SVG が正しく表示されるか確認してください
背景除去の問題
背景が正しく除去されない場合:
- ロゴのエッジが複雑、またはグラデーションが含まれている可能性があります
- より高解像度の入力を指定してみてください
- すでに透明な背景を持つロゴの場合、スクリプトは背景除去をスキップします
コメント
Markdown 対応