影像與照片·影像轉換器和壓縮器
將 PNG 轉換為 JPEG 時透明度會發生什麼變化
· 工作原理
影像格式 透明度 帆布
JPEG 沒有 Alpha 通道,因此透明像素在轉換過程中必須變成某種東西,瀏覽器的規則是將它們合成為黑色。這篇文章解釋了 Alpha、合成步驟以及如何透過選擇 WebP 或 PNG 來保持透明度。
產品切口變成了黑色方塊-這個轉換結果幾乎讓所有人第一次都感到驚訝
產品切口可能會從 JPEG 轉換中返回,並被實心矩形包圍。在此工具中,矩形不會強制為黑色:計劃帶有背景色,聚焦面板以白色開始,並 `renderPlan` 在繪製位圖之前填充整個畫布。因此,輸出反映了可見的使用者選擇,而不是未記錄的瀏覽器後備。
使用來源副本重現問題並記下選定的遮罩。如果選擇白色後出現黑色區塊,請將實際下載的檔案與任何後續處理階段進行比較,然後再歸咎於轉換。 ToolAcre 的警告包括放置在透明像素後面的顏色,使計劃在 JPEG 編碼器接收畫布之前可審核。
令人驚訝的實心矩形可以是任何選定的啞光; ToolAcre 預設為白色而不是黑色
透明度在解碼的像素表面中表示為顏色旁邊的不透明度。產品的格式表記錄 PNG 和 WebP 輸出支援 alpha,而 JPEG 不支援。這是一個編碼能力宣告:輸入解碼器也接受 GIF,但 GIF 是僅解碼的並僅貢獻一個靜止幀。讀取支援和寫入支援不得合併到一個清單中。
Alpha 值允許相同的前景在匯出後混合到不同的頁面背景。一旦像素被展平到遮罩上,這種靈活性就消失了,因為儲存的 JPEG 包含普通的不透明顏色。將 JPEG 轉換回 PNG 會建立一個支援 Alpha 的容器,但它無法推斷哪些像素以前是透明的或將它們與所選背景分開。
為什麼 JPEG 不能保持透明度 - 一種為照片設計的格式,沒有「這裡什麼都沒有」的概念
JPEG 輸出在 ToolAcre 的格式事實中沒有 Alpha 通道,因此完整的輸出需要每個像素都有顏色。轉換計劃提供該顏色,並渲染器在繪製任何來源像素之前將其繪製在目標上。此順序確保完全透明的區域成為遮罩,部分透明的邊界透過正常的畫布合成混合。
根據 JPEG 出現的位置選擇遮罩。白色目錄頁偏愛白色;深色幻燈片有利於其實際的深色背景。如果目標背景可能發生變化,JPEG 是錯誤的可交付成果,因為該決定會過早做出。 PNG 或 WebP 讓 Alpha 通道可用於後續佈局。
瀏覽器遵循的合成規則 — 根據規範,透明區域在 JPEG 編碼之前混合到純黑色背景上
此工作簿將黑色合成描述為瀏覽器規範規則,但實現明確防止意外的依賴瀏覽器的填充。 `fillRect` 使用 `plan.background`,且面板僅在所選格式缺少 Alpha 時才公開顏色輸入。更正很重要:告訴用戶黑色是不可避免的,這將隱藏專門為避免這種意外而構建的控制項。
遮罩欄位不是裝飾性元資料。它會變更傳送到 JPEG 的像素顏色,並應與格式和品質一起包含在可重現的轉換記錄中。僅輸出的螢幕截圖可以使故意的暗遮罩看起來像腐敗。捕捉平面圖可以解釋矩形是來自所選背景還是來自後來的查看者。
ToolAcre 在 JPEG 編碼之前用使用者選擇的背景填入透明度
軟抗鋸齒邊緣包含部分透明像素,而不僅僅是開啟或關閉遮罩。它們的最終顏色取決於構圖過程中它們下面的遮罩。當物體首先被壓平到白色時,可能會在黑暗的目的地出現蒼白的邊緣;稍後更改頁面無法從不透明的 JPEG 重新計算這些混合邊界像素。
ToolAcre 不會公開預乘 alpha 緩衝區或承諾特定的低階解碼器表示,因此基於證據的檢查是可視化的。針對兩個截然不同的遮罩匯出相同的徽標,並以原始尺寸比較其輪廓。如果資產必須在兩種背景下執行,請保留 alpha,而不是尋找妥協的 JPEG 邊緣。
應根據所選遮罩檢查軟邊緣結果;預乘內部結構沒有暴露
使用帶有柔和陰影的透明徽標。首先選擇白色,匯出JPEG;然後選擇深綠色並匯出另一個 JPEG。透明區域應該變成每種選定的顏色,而陰影則融入其中。還可以匯出大小不變的 PNG 和 WebP 副本,然後將兩者放在影像感知檢視器中的淺色和深色測試區塊上。
PNG 路線使用無損編碼器並保持透明度。 WebP 路由保持透明度,但根據應用程序的格式資料仍然有损,即使在品質 100 下也是如此。 JPEG 副本必然是不透明的。沒有斷言固定的檔案大小排名,因為瀏覽器測量實際編碼位元組並內容決定結果。
這不包括什麼 - 選擇自訂背景顏色、動畫透明度和 1 位元 GIF 樣式遮罩
此工作流程確實涵蓋了自訂背景顏色 - 原始輪廓錯誤地將其排除在外。它不保留 GIF 動畫、提供 GIF 輸出或提供專門的一位遮罩編輯器。 GIF 輸入被解碼為一個靜止幀,並接收與其他接受的輸入相同的目標格式規則。
它也不會從不透明來源中刪除預先存在的彩色背景。只有當透明度到達解碼器時,Alpha 保留才有用。如果來源已包含白色矩形,則匯出至 PNG 無法重新建立遺失的透明度。該任務需要在編輯器中故意刪除背景,而不是格式轉換。
自訂背景顏色已實現且屬於範圍
透明度只存在於能夠代表它的目的地。 ToolAcre 明确了替代方案:JPEG 獲取選定的遮罩,而 PNG 和 WebP 在其記錄的編碼器行為下保留 alpha。請在轉換前閱讀警告,因為它描述的是單向像素決策,而不是可逆的顯示首選項。
保留原始透明資產為主。僅在了解最終背景後才會產生 JPEG 副本,並檢查該顏色的軟邊緣。這保留了灵活的源,同時為收件人提供了他们可以打開的不透明檔案,而無需假装稍後的轉換可以恢複故意扁平化的 Alpha。