Chroma Panel

搜索文档

查找页面或章节

EN

颜色引擎

查看 Markdown

不依赖 React 和 DOM,解析、转换、格式化和存储颜色。

颜色引擎是一个 JavaScript 颜色转换库,不依赖 React 或 DOM。它能解析 CSS 颜色字符串、在颜色模型之间转换、格式化输出,还提供一个可订阅的小型 store。你可以在组件、服务端任务、worker 或构建脚本里使用它。

引擎是一个独立的入口,不含 React,也不依赖 DOM:

import { parse, toFormat, ingest } from "chroma-panel/core";

这个入口不是原生 JS 颜色选择器,也不是 HTML 颜色选择器组件。它提供的是颜色数据和转换函数,可视化的选择器组件仍然需要 React。

为什么内部使用 HSVA

HSV 有两处会丢失信息。饱和度为零时,色相就无从谈起;亮度为零时,色相和饱和度都没有意义。如果用 RGB 或 hex 保存状态,亮度一降到零,你选好的色相就丢了。

引擎保存完整的 HSVA 值,并把每次修改合并进去,所以拖到极端位置再拖回来,得到的还是原来的颜色。详见为什么颜色能在往返中保持不变

下一步

JavaScript 颜色引擎(HSVA) | Chroma Panel