color-range
v2.0.0
Published
Pick colors in any range
Readme
colorRange
构建与使用
安装:
pnpm install color-range导入:
// ESM
import colorRange from 'color-range'
// CJS
const colorRange = require('color-range')开发/打包:
pnpm dev
pnpm build浏览器全局:dist/index.global.js 暴露 window.colorRange。
API
colorRange(percent, type, ...colors) => stringpercent: 0-100 的数字。type: 'RGB' | 'RGBA' | 'HEX' | 'HSLA'(HSLA 输入会被拒绝,返回值目前不真正输出 HSLA)。colors:- 字符串形式:
'#000000', '#ffffff',步长均分。 - 断点数组形式:
['#000000', 0], ['#ffffff', 100]。
- 字符串形式:
示例:
import colorRange from 'color-range'
colorRange(50, 'RGB', '#000000', '#ffffff') // 'rgb(128, 128, 128)'
colorRange(25, 'HEX', ['#000000', 0], ['#ffffff', 100]) // '#404040'发布
本仓库使用 pnpm:
pnpm build
pnpm pack
# 发布前请确保 NPM_TOKEN 已配置在 GitHub Secrets(用于 CI)
# 或者本地:
pnpm publish --access public在任意色值直接取任意位置的色值。
目前只支持线性渐变色值。
用法:
npm install color-range -S或者
yarn add color-range -S然后
import colorRange from 'color-range'colorRange 接收多个参数,最少需要四个
如图所示:
一个线段由三个颜色变化
第一个参数:百分比
一般会在0-100之间,支持小数。
如果要获得中间点的色值,第一个参数就是50。
第二个参数:返回值
返回值提供,RGB、RGBA、HEX三种
第三个及后面参数是色值
例如:
var res = colorRange(10, "HEX", "#CCCCCC", "#DDDDDD");
console.log(res) // #cecece就会获得从#CCCCCC到#DDDDDD变化的10%的色值,返回值是#cecece
例如:
var res = colorRange(10, "HEX", "#CCCCCC", "#DDDDDD", "#EEEEEE");
console.log(res) // #cfcfcf就会获得从#CCCCCC到#DDDDDD变化的10%的色值,返回值是#cfcfcf
以上是均匀分布状态。
若色值分布不均匀:
例如:
var res = colorRange(10, "HEX", ["#CCCCCC", 0], ["#DDDDDD", 40], ["#EEEEEE", 100])
console.log(res) // #d0d0d0起点是#CCCCCC,到40%变换成#DDDDDD,到最后的#EEEEEE,返回值是#d0d0d0
如果有疑问或者bug,可以提issues或者私信我
