color-range
Version:
Pick colors in any range
136 lines (92 loc) • 2.85 kB
Markdown
# colorRange
## 构建与使用




安装:
```bash
pnpm install color-range
```
导入:
```js
// ESM
import colorRange from 'color-range'
// CJS
const colorRange = require('color-range')
```
开发/打包:
```bash
pnpm dev
pnpm build
```
浏览器全局:`dist/index.global.js` 暴露 `window.colorRange`。
### API
```
colorRange(percent, type, ...colors) => string
```
- `percent`: 0-100 的数字。
- `type`: 'RGB' | 'RGBA' | 'HEX' | 'HSLA'(HSLA 输入会被拒绝,返回值目前不真正输出 HSLA)。
- `colors`:
- 字符串形式:`'#000000', '#ffffff'`,步长均分。
- 断点数组形式:`['#000000', 0], ['#ffffff', 100]`。
示例:
```js
import colorRange from 'color-range'
colorRange(50, 'RGB', '#000000', '#ffffff') // 'rgb(128, 128, 128)'
colorRange(25, 'HEX', ['#000000', 0], ['#ffffff', 100]) // '#404040'
```
### 发布
本仓库使用 pnpm:
```bash
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或者私信我