图片配色提取
从图片提取配色,显示每种颜色在画面中的占比。扁平图形取到原色,同一张图每次结果相同;可复制 HEX、RGB、HSL、OKLCH,导出 CSS、Tailwind、GIMP .gpl 与 Adobe .ase。
- 在浏览器中处理
- 数据不离开你的设备
- 免费 · 无需注册
用微信扫描以下二维码即可分享
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。
示例:《千里江山图》局部

故宫博物院介绍,北宋王希孟的《千里江山图》卷为绢本设色,承袭「青绿法」,以石青、石绿等矿物颜料为主。上图是维基共享资源上公有领域局部图的 512 像素副本。设为 6 种颜色、聚类平均色,结果是:
#645736 26.0%、#8A7543 23.2%、#73663D 17.6%、#74744D 17.3%、#48432B 8.5%、#4E6769 7.0%。
画面大部分是泛黄的绢底,青绿只剩下 #4E6769 这一种灰青色,占 7.0%。这说明提取的是这张扫描图的颜色,不是颜料本身的颜色:九百多年的绢色、扫描时的白平衡都会写进结果。想做「青绿」风格的配色,可以点这张色卡的色阶,在色阶生成器里得到更亮、更饱和的同色相阶梯。
关掉突出鲜艳的点缀色后,聚类只看面积,青绿分到一个更暗的组:#8B7542 28.3%、#73633B 24.0%、#6B5B34 20.6%、#645533 16.0%、#53645B 5.7%、#4C442B 5.2%(最常见的色调)。
示例:透明背景的 Logo
电商主图、App 图标常用透明背景的 PNG。这张 400 × 400 的 PNG 只有红色圆 #E11D48 和黄色圆心 #FACC15。设为 2 种颜色:#E11D48 82.6%、#FACC15 17.3%,状态栏注明 71.4% 的像素透明、不计入。
设为 6 种颜色时,多出来的 4 种是抗锯齿边缘上红黄之间的过渡色,例如 #E43342 0.2%。它们确实存在于图中,但占比很小;看到这类不到 1% 的颜色,把颜色数调低即可。
计算方法
- 采样:不超过 262,144 像素的图片逐像素统计;更大的图缩小读取,且不做平滑,每个样本都是原图里的真实像素,边缘不会混出原图没有的颜色。
- 颜色组:每通道 32 级(每级含 256 个取值中的 8 个),共 32,768 组,与 Color Thief 的中值切割相同精度。像素按不透明度计权。
- 聚类:在 OKLab 中做加权 k-means,直线距离对应看上去的色差。种子按固定顺序选取,没有随机步骤。开启「突出鲜艳的点缀色」时,色相与彩度的差按两倍计算,小面积的饱和色能单独成组。
- 合并:相距小于 0.02 的聚类合并,0.02 是 CSS Color 4 色域映射采用的最小可察觉差。
导出与调色板文件
代码导出按屏幕顺序把颜色命名为 palette-1 到 palette-n,并把占比写在注释里。色值可选 HEX、rgb()、hsl()、oklch(),小数位刚好能换算回同一个 8 位颜色。上面的局部图导出为 CSS 变量:
:root {
--palette-1: #645736; /* 26.0% */
--palette-2: #8A7543; /* 23.2% */
--palette-3: #73663D; /* 17.6% */
--palette-4: #74744D; /* 17.3% */
--palette-5: #48432B; /* 8.5% */
--palette-6: #4E6769; /* 7.0% */
}
.gpl 文件可在 GIMP、Inkscape(放进调色板目录)与 Krita 中使用;.ase 文件可载入 Illustrator、Photoshop 与 InDesign 的色板。
与同类工具对比
2026 年 10 月 2 日实测:
- 256-tools 的图片配色提取同样显示占比,同一张图两次结果相同。但它读取的是缩小并平滑过的图:一张由
#1E3A8A、#F8FAFC、#F97316三色组成的横幅(面积 72% / 25% / 3%),给出 71.2% / 24.2% / 3%,另加两个原图中没有的混合色#475E9F与#CFD6E7(各 0.8%)。本工具对同一张图给出准确的三色与 72.0% / 25.0% / 3.0%。 - Color Thief 2.7.0(npm)对这张横幅取到三种原色,但不给占比。node-vibrant 4.0.4 按「鲜艳、柔和」等 6 个角色分类,颜色由 5 位分组还原,海军蓝变成
#1C3C8C。
限制
- 超过 262,144 像素的图片会抽样,只有几个像素大的细节可能漏掉。
- 「最常见的色调」只有在一种颜色占其颜色组一半以上时才是精确原色,否则是该组的平均色。
- 超出 sRGB 的颜色(如 Display P3 照片)按 sRGB 截取。色板显示后,工具会以 Display P3 再读一遍同样的采样像素,状态栏给出完全不透明像素中超出 sRGB 的比例。浏览器支持 OffscreenCanvas 时,打开的文件在后台 Worker 中解码和检查,大照片转换到 Display P3 的工作不在页面线程上进行(提示可能比色板晚几秒出现);示例插画和 SVG 文件在页面中按每次 16 行分段读取。浏览器不能按 Display P3 绘制时,状态栏会说明无法检查。
- 动图 GIF 只取第一帧。HEIC 只有 Safari 能打开,相机 RAW 需先转换。
FAQ
图片会上传吗?
不会。图片由浏览器解码,像素统计和聚类都在当前标签页里用 JavaScript 完成,页面不会发送图片或颜色。浏览器只保存你的设置(颜色数、排序、色块取值、过滤开关、导出格式),不保存图片和配色。
为什么每次提取结果都一样?
聚类过程没有随机步骤:从权重最大的颜色组开始,按固定顺序选种子,并列时按序号取前者,所以同一张图、同样的设置总是得到同样的颜色和占比。不少提取工具用随机初始值做 k-means,再点一次结果就会变。
颜色后面的百分比是什么意思?
是这一聚类在可见图像中所占的比例。像素按不透明度计权,完全透明的像素不计入。被「忽略近白色」或「忽略近黑色」去掉的像素仍算在总数里,这时占比之和小于 100%,状态栏会写明忽略了多少。
为什么颜色比我设定的少?
工具把像素分进 32,768 个颜色组(每通道 32 级,每级含 256 个取值中的 8 个)。可见像素所在的组比设定的颜色数还少时,每组各成一种颜色,状态栏会说明。聚类后在 OKLab 中相距小于 0.02 的颜色看起来相同,也会合并。
.gpl 和 .ase 文件用什么软件打开?
.gpl 是 GIMP 调色板格式,GIMP、Inkscape、Krita 都能读取。.ase 是 Adobe Swatch Exchange,Illustrator、Photoshop、InDesign 可作为色板库载入,Krita 与 GIMP 也能导入。两种文件都按屏幕上的顺序保存颜色,并以 HEX 值命名。