SS 工具箱
SS 工具箱
所有数据均在本地处理

图片配色提取:主色、8 色调色板与 HEX 取值

选一张海报、截图或照片,在浏览器里用中位切分算法算出主色和一个 8 色调色板。色块显示 HEX、点击即可复制;没有色数调节,也没有 HSL/CMYK 输出或 CSS 变量导出。

选择图片后会自动提取颜色,点击颜色即可复制
#100100100
主色
调色盘

这个取色工具的输出与边界

  1. 主色 + 8 色调色板

    每次加载都会跑一次中位切分量化:最大的色簇作为主色,调色板固定 8 个色块。图片只在 16:9 的区域内以 contain 方式预览,不提供像素级操作。

  2. 不能调色数,也不切换格式

    色数写死为 8(主色另外用 5 色量化得出),内部只用 RGB,界面上只显示小写 HEX。没有 HSL、CMYK、RGB 文本,也没有 CSS 变量导出。

  3. 点色块复制 HEX

    每个圆形色块点击后把 HEX 写入剪贴板并弹出提示。图片本身不可点,所以没有吸管,也不能取某个具体像素的颜色。

  4. canvas 处理,但只接受本地文件

    图片画到 canvas 后用 getImageData 读取,全部在浏览器里完成。没有图片 URL 输入,所以不存在跨域 canvas 污染问题,只分析你选中的文件。

  5. 采样会跳过近白和透明像素

    每 10 个像素取 1 个;alpha 低于 125 的像素和接近纯白(三通道都大于 250)的像素会被忽略。白色背景和透明区域因此不会主导结果。

图片取色常见问题

颜色是怎么算出来的?

用 ColorThief 的中位切分量化(MMCQ)。主色取 5 色量化里的第一个色簇;调色板是 8 色量化。quality 默认 10,也就是每 10 个像素采样一次。

能改颜色数量吗?

不能。8 个色块写死,没有滑块或输入框,主色来自另一轮 5 色量化。每次选择新文件都会重新计算并替换调色板。

能输出哪些颜色格式?

只有小写 HEX,显示在色块上、点击复制。没有 RGB、HSL、CMYK 读数,没有 CSS 变量,也没有 PNG 或文本导出。

能吸管取色或点单个像素吗?

不能。图片只是预览,点击色块只会复制它的 HEX,不提供像素级取色,也不能在照片上点某个位置取色。

图片会上传吗?是在 canvas 里处理吗?

全部在本地 canvas 处理,不上传。文件通过 object URL 载入,先显示在固定的 16:9 预览区,再按原始尺寸画入 canvas 分析。

跨域图片会污染 canvas 吗?

页面只支持本地文件选择,没有 URL 输入,也没有调用 getColorFromUrl,所以不会遇到 CORS 污染。需要网络图片时请先下载再上传文件。

为什么白色和透明区域不算?大图会怎样?

alpha 低于 125 和近白(三通道都大于 250)的像素会被跳过。超大图片按原始尺寸画入 canvas 并整幅读取,会比较慢、占内存,没有缩放或大小限制。

相关工具
赞助MindElixir