PerfectVector
著者: Irene Kim

透明PNGロゴの白い縁取り:輪郭の色を修正する方法

透明な PNG では、エッジの色に白を含めることができます。淡いロゴのフリンジを診断し、ソフト アルファを保存し、既知の単色マークの修復を確認します。

2 分で読める
目次

透明な PNG ロゴの周囲に白いハローが発生するのは、部分的に透明なエッジ ピクセルの色からである可能性があります。空の領域はすでに透明になっている可能性があります。これらのエッジの色を白と混ぜると、暗い背景の上に淡いフリンジが残ることがあります。変更する前に、意図したアートワークを確認してください。既知の単色マークの場合は、ソフト アルファ エッジを維持したまま、汚染された RGB を置き換えることができます。

オリジナルの PNG と承認済みのカラーリファレンスを保持します。トレースしたり SVG エクスポートを非難したりする前に、まず明るい背景と暗い背景で PNG 自体を確認してください。意図的な輝き、白い輪郭、汚れたエッジの色では、異なる決定が必要です。

色だけでなく透明度もチェック
  • 元の PNG を暗い色と明るい色で検査します。
  • 淡いフリンジが意図したアートワークであるかどうかを確認します。
  • 既知のフラット インク ロゴの場合、ソフト アルファを切り取らずにエッジの色を修復します。
  • 保存したコピーを再度開き、両方の背景の細かいストローク、穴、エッジを確認します。
お手持ちの画像で試す
フル機能のツールを開く
無料でお試しいただけます。画像をドロップすると、登録なしでベクターのプレビューを確認できます。

なぜ実際の透明度にも白いフリンジが残るのか

アルファを含む PNG には、色と不透明度が保存されます。 RGB はピクセルの赤、緑、青の値を表します。アルファは、それがどの程度不透明であるかを表します。 PNG 仕様 では、PNG カラー値は関連付けられていないものとして定義されています。つまり、保存されている RGB にはアルファが乗算されません。

ロゴの境界では、その分離が重要になります。半透明の青緑色のピクセルと半透明の白っぽいピクセルは同じ不透明度を持ちますが、異なる可視エッジを生成します。 W3C 合成モデルは、ソース カラー、アルファ、背景カラーを組み合わせます。アルファだけをチェックしても、エッジの色がきれいであることを確認することはできません。

ここでの白マット汚染 とは、エッジ付近の RGB に、初期の準備ステップで不要な白が含まれていることを意味します。被写体の外側の不透明な白い長方形とは異なります。デザインに属する白い輪郭とも異なります。

完全に透明なピクセルは、通常のソースオーバー合成では目に見える色を提供しません。この記事の診断ピクセルには、完全な透明と完全な不透明の間のアルファがあります。これらの部分的に見える色は、制御例で修復するものです。

ロゴを変更する前にフリンジを見つけます

未加工の PNG、承認済みの参照、および 2 つの無地の背景を使用します。意図した表示サイズで検査し、ズームインして影響を受けるエッジを見つけます。大きなズームは診断に役立ちます。ロゴが適切に見える必要があるのはサイズだけではありません。

見つけたもの次のステップ
淡いフリンジはすでに PNG にあり、特に暗い色の上にあります部分的に透明なエッジ RGB を検査し、承認されたインクと比較します
承認済みのアートワークにも淡い輪郭が描かれています所有者が設計変更を要求しない限り、それを保存します
固体のボックスまたはペイントされたチェッカーボードが被写体を囲みます個別の背景オブジェクトと透明度の診断を使用します。
PNG のエッジはきれいですが、SVG では新しいアウトラインが表示されますPNG を変更する前に、ベクター結果の形状とペイントを検査します。
意図した色やエッジ処理を設定できない再着色する前に、ベクター/レイヤードマスターまたは承認されたリファレンスをリクエストしてください。

暗い背景で比較すると、どこを見るべきかがわかります。どの以前のツールが白を導入したか、またはすべての淡いピクセルが間違っていたかどうかは証明されません。正当なハイライト、明るい色の詳細、半透明のアートワークをグローバルな色の置換から除外します。

当社の同一アルファテスト: クリーン、汚染、修復済み

曲線エッジと細い分離線を備えた、オリジナルの 400×400 シングル インク シンボルを作成しました。承認されたインクは、ティール、#167D8D、または RGB 22,125,141 でした。きれいな PNG を保存し、透明度に比例して RGB に白を混ぜて、白マットのコントロールを構築しました。アルファバイトはまったく同じままでした。

この制御された汚染モデルでは、各チャネルは round(a × ink + (1 − a) × white) として計算され、アルファ a は 0 から 1 で表されます。これは、このフィクスチャをどのように構築したかを説明するものであり、すべての画像エディタが PNG をエクスポートする方法を説明するものではありません。

次に、ImageMagick 7.1.2-32 で以下のフラット インク修復を実行し、2026 年 11 月 9 日に Pillow 11.3.0 ですべてのファイルを個別に再度開きました。

保存されたファイル同じ alpha-128 エッジ ピクセルの RGB部分アルファピクセル
クリーンコントロール22, 125, 1415,926
ホワイトマットコントロール138, 190, 1985,926
修復されたコピー22, 125, 1415,926

完全なアルファ バッファは、細線も含めて 3 つのファイルすべてでバイト同一でした。 256 個のアルファ値はすべて表示されたままです。修復されたコピーの明るい背景と暗い背景の合成は、ピクセルごとにクリーンなコントロールと一致しました。汚染されたコントロールは、各背景上の 5,926 個の部分的に透明なピクセルすべてで異なりました。

同じアルファ、異なるエッジ RGB
ネイティブ プレビューでは、同じアルファを使用して、きれいで白マットで修復されたピクセル コントロールが表示され、さらに 8 倍に拡大された明るいエッジと暗いエッジのクロップが表示されます。
ネイティブ プレビューには、実際に保存されたピクセル コンポジットの組み立てられた比較が表示されます。基礎となる比較では、最近傍スケーリングによって 8× に拡大された同一のエッジ クロップが使用されます。これは制御された単一インク修復であり、ベクタライザーの結果や元の PNG をデコードしたプレビューのテストではありません。

コンポジットはソフトウェアでレンダリングされた 8 ビット RGB コントロールであり、調整された印刷予測ではありません。テストしたのは、PerfectVector 変換、ブラウザ デコーダ、物理出力ではなく、保存されたラスターの準備です。

確認済みの単色 PNG をアルファをトリミングせずに修復する

このコマンド ルートには、未加工の PNG、承認された単一インク カラー、および ImageMagick がインストールされている必要があります。使用可能なベクターまたはレイヤー化マスターが存在する場合は、最初にそのマスターから新しい透明コピーをリクエストします。使用する前に両方の背景の端を確認してください。

ラスターのみのマークの場合、すべての表示部分が同じフラット カラーを持つ必要がある場合にのみ、RGB 置換を使用します。この例では、すべての RGB を意図的に承認された青緑色に置き換え、元のアルファを保持します。

magick white-matted-edge.png -channel RGB -fill "#167D8D" -colorize 100 +channel -define png:color-type=6 repaired-flat-ink.png

入出力ファイル名を変更し、#167D8D をマーク用に承認されたインクに置き換えます。新しい出力ファイルを書き込みます。このコマンドは、多色のロゴ、グラデーション、写真、または意図的に半透明の色のバリエーションを含むアートワークに対しては使用しないでください。

ImageMagick オプション リファレンスには、現在の塗りつぶしの色とチャネル選択による -colorize が記載されています。実際の実行では、RGB が置き換えられ、再度開かれたアルファバイトは変更されませんでした。このコマンドは正しい色を検出しません。既知のデザインから色を提供しました。

これはフラットインクの再構築であり、普遍的な「白マットの削除」操作ではありません。元のエッジのカラーと以前のマットが不明な場合、1 つの画像からは復元できる承認済みのデザインが得られません。より良いソースを依頼するか、リファレンスに基づいてアートワークを再構築してもらいます。

このカラー修復をブランケット アルファ カットオフで代用しないでください。これにより、どのエッジ ピクセルが表示されたままになるかが変化し、細部が犠牲になる可能性があります。保存された修正では、すべてのアルファ値が保持されました。これらの値を通じて表示されていた RGB が変更されました。

トレースする前に保存されたコピーを確認してください

修正されたように見える作業ドキュメントを受け入れるのではなく、実際の出力ファイルを再度開きます。診断に使用したのと同じ明るい背景と暗い背景の上に配置します。

  1. 意図したサイズでマーク全体を確認します。 承認されたシルエットを変えることなく、不要な淡いフリンジがなくなるはずです。
  2. 細部まで検査します。 細いストローク、小さな穴、角、切り離された要素を未加工のソースと比較します。私たちのテストでは、細線は正確なアルファを保持しました。
  3. 色の所有権を確認します。 意図したハイライト、白のディテール、グラデーション、またはグローが再色されていないことを確認します。マークに該当する場合は単色修理は不向きです。
  4. 保存されたコピーをトレース参照として使用します。 ソースと両方の背景のベクター プレビューを比較します。新しいフリンジが後でのみ表示される場合は、クリーンな PNG を繰り返し変更するのではなく、後の結果を調査してください。

実際の要件が SVG 内のかすかなラスター ピクセルを破棄することである場合は、別のSVG アルファしきい値ガイドを参照してください。それは不透明性の決定です。汚染された RGB を復元したり、結果のアウトラインがデザインを保持していることを証明したりするものではありません。

ソース修復後に PerfectVector が適合する場所

PerfectVector は、チェックされた PNG が再利用可能なベクトル形状を必要とする場合に適しています。 修復された PNG から開始し、ベクター プレビューを正確に保存されたソースと比較します。デザインで SVG を使用する前に、外側のエッジ、小さな穴、細かいストローク、およびコントラストのある背景上の淡い形状を検査します。

未知のマットを推測したり、未承認のカラーを復元したりするためにトレースに依存しないでください。使用可能なベクター マスターが既に存在する場合は、汚染されたピクセルから外観を再構築する代わりに、それを使用します。

よくある質問

透明な PNG に白いハローが発生するのはなぜですか? 部分的に透明なエッジ ピクセルには、空の領域が実際に透明である場合でも、白っぽい RGB が含まれる場合があります。編集する前に、元の PNG を明るい色と暗い色で比較し、フリンジが汚れているのか、意図したアートワークであるかを確認してください。

ソフト エッジを削除せずにハローを修正できますか? 確認済みの単色マークの場合は、アルファを維持しながら、汚染された RGB を承認済みのインクに置き換えます。保存された修復により、完全なアルファ バッファーは変更されず、テストされた両方の背景のクリーン コントロールと一致しました。これは、多色または未知のアートワークの普遍的な修復を証明するものではありません。

不透明度の低いピクセルを透明にするとエッジの色は修正されますか? 色を復元するのではなく、不透明度を変更します。細かい部分を削除する際に、汚染されたピクセルの一部が隠れる場合があります。 RGB 汚染を個別に診断し、意図的なソフト エッジがデザインに含まれる場合は保存します。

情報源

  1. W3C — PNG 仕様、第 3 版 — PNG アルファおよび関連付けられていない保存されたカラー値を定義します。
  2. W3C — 合成とブレンディング レベル 1 — ソース カラー、アルファ、背景カラーを使用したソースオーバー合成について説明します。
  3. ImageMagick — コマンドライン オプション — テストされたフラット インク操作のドキュメントのカラー化、塗りつぶし、およびチャネル選択。

チェックされた PNG をベクター アートワーク用に準備しましたか? PerfectVector で独自の画像を使用して無料で始めましょう。コントラストのある背景でプレビューと保存されたソースを比較し、特にエッジと細部に注意してください。

ブログのその他の記事

PerfectVector

ロゴやアートワークを
きれいで編集可能なSVGに変換

ベクター化とプレビューの確認は無料で、1日あたりの上限はありません。