正在載入工具…

從一張圖,到一組有理由的配色。COLOR STUDY / 10

取一點顏色,配一個讀得清楚的介面。

先看色票,再決定它要當文字、底色,還是強調色。每一步都保留你的選擇,不替你把失敗的對比藏起來。

圖片留在瀏覽器透明混色可追溯只匯出選取的 CSS

01 / 從素材開始

還沒有圖片。也可以先試人工合成的 PNG。

一張靜態 PNG/JPEG/WebP,最多 8 MB、最長邊 4096 px、4,000,000 pixels。先檢查容器,再解碼;不接受 SVG、GIF、APNG、動態 WebP。不讀取遠端網址,不把圖交給伺服器。

選好襯底與圖片,再開始取色。

取色是起點,不是可讀性的保證。

圖片與檔名只留在目前頁面記憶體,不上傳、不永久保存、不放進分享 URL。清除、重新整理或離開會丟棄來源與選取。你主動下載的 CSS 是例外。單一色彩對比無法取代鍵盤、焦點、語意、內容與完整無障礙驗證。

解碼、透明度、取樣與色彩管理的界線
  • 一次一張本機檔案;8 MB=8,000,000 bytes。容器檢查拒絕動畫與超過 4096 edge/4M pixels 的來源,不先解碼大圖再縮小。瀏覽器原生解碼可能失敗;10 秒停止等待。取消、換檔或離開會清掉 image src/Blob URL 與舊結果;原生解碼器內部資源由瀏覽器管理,無法保證即時中止所有原生工作。
  • 瀏覽器依圖片 profile/方向資訊解碼到 sRGB Canvas,再讀取 8-bit RGBA;不保證各瀏覽器/ICC/HDR/廣色域轉換完全一致,不輸出原始 profile 或 metadata。檔案 MIME 與 signature 需一致;空 MIME 依容器判斷。來源預覽已受瀏覽器解碼管理,不是原始 RGB bytes 證明。
  • 透明 pixels 先在你明確選取的不透明襯底上混色,連 alpha=0 都計入襯底色頻率;不忽略透明區原本佔的樣本。預覽/對比先 background-over-backing,再 text/accent-over-background;採 encoded sRGB source-over,非 linear-light/blend mode 模擬。
  • 固定 4-bit/channel(最多 4096 buckets);bucket 代表色為混色後 encoded sRGB 的平均再個別四捨五入,不是精確 unique colors、感知分群、ML 或品牌主色辨識。依 sample 數排序,同數依 RGB bucket 升冪;只回傳你選的前 8/16/32 個 bucket。
  • 系統性取樣 pixel index=floor(i×pixelCount/sampleCount),最多 1,000/10,000/100,000 samples,可能 alias 圖案。頻率是該 bucket samples/全部 samples,不是全圖比例或視覺重要性;省略 sample 數明示。變更襯底/取樣參數會重新計算,角色保留你選的明確 RGB,不暗中重新綁定 bucket。
  • WCAG 2.x sRGB 相對亮度採 0.04045 分段、0.2126R+0.7152G+0.0722B 線性亮度權重,對比=(亮+0.05)/(暗+0.05)。不先四捨五入再判斷;未通過仍列出。僅評估所選 opaque 混色結果,不處理漸層/背景圖/字型渲染,也不驗證非文字 UI 全部要求。
  • 兩個範例是本機 Canvas 人工合成的 240×160 靜態 PNG,走與上傳相同的解碼流程;不是照片/品牌或真實使用者量測。透明範例含黑、半透明紅、全透明三個區塊。未啟用框架專屬 token、自動產生主題或遠端圖片輸入。

Cloudflare Web Analytics 僅統計頁面瀏覽與效能;工具輸入、檔案內容與處理結果留在你的裝置。