画像と写真 · 画像コンバーター & コンプレッサー
PNG を JPEG に変換すると透明度はどうなりますか
· 仕組み
画像形式 透明度 キャンバス
JPEG にはアルファ チャネルがないため、変換中に透明ピクセルが何かになる必要があり、ブラウザの規則ではそれらを黒に合成します。この投稿では、アルファ、合成ステップ、および代わりに WebP または PNG を選択して透明度を維持する方法について説明します。
黒い四角形に変わった製品の切り抜き - 初めてほとんどの人が驚く変換結果
製品のカットアウトは、実線の長方形で囲まれた JPEG 変換から返される場合があります。このツールでは、その四角形は強制的に黒にされません。プランには背景色があり、フォーカスされたパネルは白で開始し、ビットマップを描画する前に `renderPlan` がキャンバス全体を塗りつぶします。したがって、出力には、文書化されていないブラウザーのフォールバックではなく、目に見えるユーザーの選択が反映されます。
ソースのコピーを使用して問題を再現し、選択したマットをメモします。白を選択した後に黒いブロックが表示された場合は、変換のせいにする前に、実際にダウンロードしたファイルをその後の処理段階と比較してください。 ToolAcre の警告には透明ピクセルの背後に配置された色が含まれており、JPEG エンコーダーがキャンバスを受け取る前に計画を監査可能になります。
驚くべき立体的な長方形は、任意のマットを選択することができます。 ToolAcre のデフォルトは黒ではなく白です
透明度は、デコードされたピクセル サーフェス内で色とともに不透明度として表されます。製品のフォーマット テーブルには、PNG および WebP 出力はアルファをサポートしているが、JPEG はサポートしていないことが記録されています。これはエンコード機能に関するステートメントです。入力デコーダーは GIF も受け入れますが、GIF はデコード専用であり、静止フレームを 1 つだけ提供します。読み取りサポートと書き込みサポートを 1 つのリストにまとめてはいけません。
アルファ値を使用すると、エクスポート後に同じ前景を異なるページの背景にブレンドできます。ピクセルがマット上に平坦化されると、保存された JPEG には通常の不透明な色が含まれるため、その柔軟性は失われます。 JPEG を PNG に変換するとアルファ対応コンテナが作成されますが、どのピクセルが以前透明であったかを推測したり、選択した背景からピクセルを分離したりすることはできません。
JPEG が透明度を保持できない理由 — 「ここには何もない」という概念のない写真用に設計された形式
JPEG 出力には、ToolAcre の形式ファクトにアルファ チャネルがないため、完全な出力にはすべてのピクセルで色が必要です。変換プランはその色を提供し、レンダラーはソース ピクセルが描画される前にその色をデスティネーション全体にペイントします。この順序により、完全に透明な領域がマットになり、部分的に透明な境界が通常のキャンバス構成にブレンドされます。
JPEG が表示される場所に基づいてマットを選択します。白いカタログ ページでは白が好まれます。暗いスライドは、実際の暗い背景を優先します。宛先の背景が変更される可能性がある場合、決定が早すぎるため、JPEG は間違った成果物になります。 PNG または WebP は、後のレイアウトでアルファ チャネルを利用できるようにします。
合成ルール ブラウザは以下に従います。仕様により、透明領域は JPEG エンコードの前に黒一色の背景にブレンドされます。
ワークブックでは、ブラウザーの仕様ルールとして黒の合成について説明しましたが、実装により、ブラウザーに依存する偶発的な塗りつぶしが明示的に防止されます。 `fillRect` は `plan.background` を使用し、選択した形式にアルファがない場合にのみパネルはカラー入力を公開します。修正は重要です。黒は避けられないとユーザーに伝えることは、その驚きを避けるために特別に構築されたコントロールを隠すことになります。
マット フィールドは装飾的なメタデータではありません。これは、JPEG に送信されるピクセルの色を変更し、形式と品質とともに再現可能な変換レコードに含める必要があります。出力のみのスクリーンショットでは、意図的に暗いマットが破損しているように見える場合があります。計画をキャプチャすると、その四角形が選択した背景から来たのか、それとも後で見る人から来たのかがわかります。
ToolAcre は、JPEG エンコードの前に、ユーザーが選択した背景で透明度を塗りつぶします。
ソフト アンチエイリアス処理されたエッジには、単なるオンまたはオフのマスクではなく、部分的に透明なピクセルが含まれます。最終的な色は、合成時のその下のマットによって異なります。暗い目的地に淡い縁取りが生じるのは、オブジェクトが最初に白に対して平らにされた場合に発生する可能性があります。後でページを変更すると、不透明な JPEG から混合境界ピクセルを再計算できません。
ToolAcre は、事前乗算されたアルファ バッファーを公開したり、特定の低レベル デコーダー表現を保証したりしないため、証拠に基づくチェックは視覚的に行われます。同じロゴを 2 つのまったく異なるマットに対してエクスポートし、その輪郭をネイティブ サイズで比較します。アセットが両方の背景で動作する必要がある場合は、1 つの妥協 JPEG エッジを検索するのではなく、アルファを保持します。
ソフトエッジの結果は、選択したマットに対して検査する必要があります。乗算前の内部は公開されません
ソフトシャドウのある透明なロゴを使用します。最初に白を選択し、JPEG をエクスポートします。次に、濃い緑色を選択して、別の JPEG をエクスポートします。透明なフィールドは選択した各色になり、影がそれに溶け込みます。変更されていないサイズの PNG コピーと WebP コピーもエクスポートし、画像対応ビューアで明るいテスト ブロックと暗いテスト ブロックの両方に配置します。
PNG ルートはロスレス エンコーダーを使用し、透明性を維持します。 WebP ルートは透明性を維持しますが、品質 100 であっても、アプリケーションの形式データに従って損失が残ります。 JPEG コピーは必然的に不透明になります。ブラウザーは実際にエンコードされたバイト数を測定し、内容によって結果が決まるため、固定のファイル サイズのランキングはアサートされません。
これでカバーされない内容 — カスタム背景色の選択、アニメーション化された透明度、1 ビット GIF スタイル マスク
このワークフローはカスタム背景色をカバーしていますが、元のアウトラインでは誤って背景色が除外されています。 GIF アニメーションの保存、GIF 出力の提供、または特殊な 1 ビット マスク エディタの提供はありません。 GIF 入力は 1 つの静止フレームとしてデコードされ、他の受け入れられた入力と同じ宛先形式ルールを受け取ります。
また、不透明なソースから既存の色付きの背景は削除されません。アルファの保存は、透明度がデコーダに到達した場合にのみ役立ちます。ソースにすでに白い四角形が含まれている場合、PNG にエクスポートしても欠落している透明度を再作成できません。このタスクでは、フォーマット変換ではなく、エディターで意図的に背景を削除する必要があります。
カスタム背景色が実装され、スコープに属します
透明性は、それを表現できる目的地でのみ存続します。 ToolAcre は代替手段を明示的に示します。JPEG は選択されたマットを取得しますが、PNG と WebP は文書化されたエンコーダーの動作に従ってアルファを保持します。この警告は、可逆的な表示設定ではなく、一方向のピクセル決定について説明しているため、変換する前にこの警告をお読みください。
元の透明アセットをマスターとして保持します。最終的な背景がわかった後でのみ JPEG コピーを作成し、その色のソフト エッジを検査します。これにより、柔軟なソースが維持され、受信者は開くことのできる不透明なファイルが提供され、後の変換で意図的に平坦化されたアルファを回復できるかのように見せかけることはありません。