color-convert

中文文档
3.1.3发布于 2025/11/15MITTypeScriptES Module近 30 天下载 13.5亿

纯色转换函数

中文使用文档
文档目录17 节
  1. 数组
  2. 路由
  3. 色彩空间尺度
  4. rgb
  5. 奥软
  6. hsv
  7. hwb
  8. xyz
  9. 实验室
  10. 华尔街日报
  11. oklab
  12. oklch
  13. cmyk
  14. 十六进制
  15. 关键字
  16. 苹果
  17. 灰色的

color-convert

color -convert是一个用于JavaScript和node的颜色转换库。 它可以任意转换 rgb, hsl, hsv, hwb, cmyk, ansi, ansi16, hex 字符串和CSS keywordS(将四舍五入到最接近):

import convert from 'color-convert';

convert.rgb.hsl(140, 200, 100);             // [96, 48, 59]
convert.keyword.rgb('blue');                // [0, 0, 255]

const rgbChannels = convert.rgb.channels;     // 3
const cmykChannels = convert.cmyk.channels;   // 4
const ansiChannels = convert.ansi16.channels; // 1

安装

npm install color-convert

API

只要得到的性质 从 和 来 你正在寻找的皈依。

所有函数都有圆润和非圆润的变体。默认情况下,返回值是四舍五入的。要得到完整的(原始)结果,只需添加 .raw 到函数。

所有的from函数都有一个隐藏属性叫做 .channels 这表示函数期望的通道数(不包括alpha)。

import convert from 'color-convert';

// Hex to LAB
convert.hex.lab('DEADBF');         // [ 76, 21, -2 ]
convert.hex.lab.raw('DEADBF');     // [ 75.56213190997677, 20.653827952644754, -2.290532499330533 ]

// RGB to CMYK
convert.rgb.cmyk(167, 255, 4);     // [ 35, 0, 98, 0 ]
convert.rgb.cmyk.raw(167, 255, 4); // [ 34.509803921568626, 0, 98.43137254901961, 0 ]

数组

所有接受多个参数的函数也支持传递数组。

注意,这样做 不 适用于从只需要一个值的颜色转换的函数(例如: keyword, ansi256, hex等)。

import convert from 'color-convert';

convert.rgb.hex(123, 45, 67);      // '7B2D43'
convert.rgb.hex([123, 45, 67]);    // '7B2D43'

路由

转换没有 显式地 已定义的转换( conversions.js),但可以通过子转换(例如XYZ ->)进行转换 RGB -> CMYK),自动路由在一起。支持的任何颜色模型 color-convert 只要存在子转换路径,就可以转换为任何其他模型。对于在两者之间需要多步的转换(例如LCH ->)也是如此 实验室 -> XYZ -> RGB - >十六进制)。

请记住,广泛的转换 可以 导致精度的损失,而存在只是为了完整。有关“直接”(单步)转换的列表,请参见 conversions.js。

色彩空间尺度

转换依赖于每个渠道商定的“全面”价值。下面列出的是最常见的色彩空间的值

rgb

通道全面的价值
r255
g255
b255

奥软

通道全面的价值
h360
年代100
l100

hsv

通道全面的价值
h360
年代100
v100

hwb

通道全面的价值
h360
w100
b100

xyz

通道全面的价值
x94
y99
z108

实验室

通道全面的价值
l100
一个-86年,98年
b-108年,94年

华尔街日报

通道全面的价值
l100
c133
h360

oklab

通道全面的价值
l100
一个-23年,28
b-31年,20

oklch

通道全面的价值
l100
c32
h360

cmyk

通道全面的价值
c100
米100
y100
k100

十六进制

通道全面的价值
十六进制0xffffff

关键字

通道价值
名字任何来自 颜色名称

苹果

通道全面的价值
065535
165535
265535

灰色的

通道全面的价值
灰色的100

贡献

如果您想支持一个新模型,或者想要添加两个现有模型之间的直接转换,请向我们发送pull请求。

许可证

版权所有©2011-2016,Heather Arthur。 版权所有©2016-2021,Josh Junon。

根据 麻省理工学院的许可。

版本与发布记录

color-convert 共发布 41 个版本,首次发布于 2011/06/10;过去 12 个月发布了 1 个版本。

版本发布日期距今
3.1.3latest2025/11/1511 个月前
3.1.22025/09/141.1 年前
3.1.12025/09/081.2 年前
3.1.02025/05/131.5 年前
3.0.12025/02/071.7 年前
3.0.02025/02/061.7 年前

关于 color-convert 的常见问题

color-convert 是什么?

纯色转换函数

如何安装 color-convert?

在项目目录运行 npm install color-convert,或使用 pnpm add / yarn add / bun add。

color-convert 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

color-convert 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

color-convert 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=14.6。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

color-convert 可以商用吗?

color-convert 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

color-convert 的下载量有多少?

根据 npm 官方下载统计,color-convert 在 2026/10/05 – 2026/11/03 这 30 天内被下载 1,350,157,780 次,日均约 45,005,259 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

color-convert 还在维护吗?

最新版本 3.1.3 发布于 2025/11/15(11 个月前);至今共发布 41 个版本,其中过去 12 个月发布了 1 个;首次发布于 2011/06/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。