跳至主要內容
Lizely

翻轉圖片顏色

在經驗證的 PNG、JPEG、GIF 或 WebP 圖片中,翻轉每一個解碼後的 RGB 通道的顏色,並保留 alpha 通道,然後下載靜態的 PNG。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.選擇一個 PNG、JPEG、GIF 或 WebP 檔案,並等待位元組容器偵測、瀏覽器解碼以及尺寸驗證。
  2. 2.翻轉解碼的初始幀,然後比較來源與完整自然尺寸的 PNG 預覽。
  3. 3.確認尺寸與輸出位元組大小,然後下載靜態的 PNG。

關於翻轉圖片顏色

圖片顏色翻轉工具會將每一個解碼後的紅、綠、藍通道轉換為其補色位元組值,並以 PNG 格式輸出。請選擇 PNG、JPEG、GIF 或 WebP 檔案,等待驗證,執行翻轉,比較原始與輸出預覽,並下載自然尺寸的結果。讀取、偵測、解碼、像素存取、轉換、預覽以及 PNG 匯出皆發生在當前瀏覽器標籤頁內。圖片不會上傳至 Lizely 或傳送至外部服務。

像素規則明確且可預測:輸出紅色等於 255 減去輸入紅色,輸出綠色等於 255 減去輸入綠色,輸出藍色等於 255 減去輸入藍色。Alpha 保持不變。黑色變為白色,白色變為黑色,紅色變為青色,綠色變為洋紅,藍色變為黃色。測試涵蓋不透明的主色、中間通道值、完全透明的像素、半透明像素以及多像素 RGBA 矩陣。對通道運算執行兩次會恢復相同的解碼位元組值。

畫布 所有 RGBA 通道皆被處理,包括 RGB 通道中 alpha 值為零的專案。演算法不會跳過透明像素,也不會將 RGB 強制轉為黑色。完全透明的顏色將不可見,不過瀏覽器解碼器或 畫布 可能在 getImageData 返回前,先將 RGB 進行標準化處理。本工具轉換 畫布 實際提供的位元組;無法恢復從未到達 ImageData 的隱藏來源檔案通道資料。半透明 alpha 值則保持不變。

檔案副檔名、檔案選擇器過濾器以及作業系統 MIME 標籤無法作為格式保證。實際的 ArrayBuffer 會使用與配對 Base64 圖片流程相同的純結構檢測器進行檢查。PNG 需要完整的簽名、第一個 IHDR 結構以及終端 IEND。JPEG 需要 SOI、隨後的標記以及終端 EOI。GIF 需要 GIF87a 或 GIF89a、足夠的邏輯螢幕結構以及尾部標記。WebP 需要精確的 RIFF 位元組數量、WEBP 標記以及受限制的 VP8、VP8L 或 VP8X 首個區塊。截斷的魔術字元以及任意重新命名的檔案會在 畫布 處理前失敗。標籤為偵測到 MIME 的 Blob 須經 createImageBitmap 解碼並報告實際的正向尺寸。結構檢測無法取代瀏覽器解碼。

檔案大小不得超過 15 MiB。在讀取前會檢查宣告的檔案大小,並在之後檢查實際的ArrayBuffer長度。每個解碼邊緣最多不得超過 8,192 像素,總面積不得超過 24,000,000 像素。精確的邊界被接受;超出邊界一個位元組、邊緣像素或像素面積將被拒絕。這些獨立的限制很重要,因為壓縮輸入可以擴充套件為大型像素緩衝區,而長窄圖片可以保持在面積限制內,同時超過實用畫布尺寸。不會默默地調整大小、裁剪、取樣或部分處理。

輸出始終是完整的 PNG,並有獨立的 32 MiB 限制。畫布首先編碼完整的自然尺寸圖片。空的 Blob、無效大小或超出精確預算的 Blob 會在結果 URL 發布前失敗。輸出從來不會被截斷或默默地轉換為損失性格式。PNG 可能比 JPEG、GIF 或 WebP 原始資料更大,特別是對於照片或雜訊圖片而言,因此輸入和輸出預算故意分開。

動畫 GIF 與動畫 WebP 的輸入會使用瀏覽器解碼的初始影格,並成為一張靜態 PNG。後續的影格、時間軸、迴圈、色板以及處理行為將不會被保留。畫布匯出也不保證會保留 EXIF、GPS、備註、ICC 配置檔案、來源資訊或其他原始後設資料。當動畫、嵌入配置檔案或後設資料重要時,請保留原始檔案。這個工具是一種位元組通道視覺效果,並非色彩管理轉換,也非電影負片修復。它不會線性化伽馬值、建模知覺補色、去除橘色遮罩、平衡掃描電影、校正曝光或進行調色階調。

選擇另一個檔案會立即增加任務產生,關閉先前的 ImageBitmap,撤銷來源與輸出 ObjectURL,清除舊錯誤與結果,並重設忙碌狀態。遲到的檔案讀取、點陣圖解碼以及 toBlob 回呼無法在新選擇中發布內容。清理作業透過 React Strict Mode 的效果設定與清除週期保持安全。同步的 畫布 匯出失敗、ObjectURL 建立失敗,以及 null toBlob 回呼結果皆會進入同一條受保護的失敗路徑,清除忙碌狀態,且不會留下舊的下載連結。解除安裝時會關閉點陣圖,並撤銷所有剩餘的 URL。

本機瀏覽器處理提升了隱私性,但成功的解碼並不代表惡意軟體分析、內容審查、作者驗證,或證明圖片安全或真實。SVG、AVIF、HEIC、BMP、TIFF、PDF 以及其他格式即使更名也不在範圍內。其他操作請使用圖片翻轉、像素化圖片、模糊圖片或圖片疊加功能。請保留原始檔,因為 PNG 轉換可能改變元資料、動畫與色彩管理行為,即使解碼的 RGBA 轉換本身是精確的。

方法與來源

請檢查在精確的 15 MiB 介面上報告與實際的位元組長度。從位元組中偵測完整的 PNG、JPEG、GIF 或大小一致的 WebP 容器,同時忽略提供的 MIME 型別與檔案名稱。使用偵測到的 MIME 型別建立 Blob,並要求 createImageBitmap 來解碼其初始影格。拒絕解碼後邊界超過 8,192 像素或面積超過 24,000,000 像素的狀況。以自然尺寸繪製,讀取完整的 ImageData,將每個像素以 255-R、255-G、255-B 進行變換,並保持不透明度不變,再將完整的矩陣放回。將畫布編碼為 PNG,拒絕 null Blob 或在 URL 建立前輸出超過 32 MiB 的內容,並將相同的 Blob 暴露給預覽與下載。產生、掛載狀態、點陣圖、URL、同步例外、回撥與忙碌防護措施可防止產生過時輸出與記憶體洩漏。

常見問題

透明像素會怎麼處理?
每個解碼的 RGB 側邊都會被翻轉,即使 alpha 為零,alpha 值也會保持不變。瀏覽器解碼或 畫布 可能在迴圈看到之前就將視覺上隱藏的 RGB 正規化。
此工具會保留動態的 GIF 或 WebP 輸入嗎?
不。瀏覽器解碼的初始影格會變成一個靜態的 PNG;後續的影格、時間、迴圈與處理行為將不會被保留。
此工具會信任檔名或 MIME 型別嗎?
不會。它會從實際位元組中偵測出完整的支援容器,為偵測到的 MIME 建立本機 Blob,然後要求真實的瀏覽器解碼。
圖片會上傳嗎?
不會。檔案讀取、偵測、ImageData 處理、預覽以及 PNG 匯出皆會留在當前瀏覽器標籤頁中。

圖片工具 使用指南

查看全部