颜色盲
零依赖相色盲模拟库.
它基于 色彩失明模拟研究 联 合 国 处理库 以 hx2A (韩语)。 。 。 .
安装
$ npm install @bjornlu/colorblind
或使用CDN直接用于浏览器,例如:
<!-- jsDelivr -->
<script src="https://cdn.jsdelivr.net/npm/@bjornlu/colorblind"></script>
<!-- unpkg -->
<script src="https://unpkg.com/@bjornlu/colorblind>"></script>
CDN 版本设置全球 colorblind 对象,例如:. colorblind.simulate(...)。 。 。 .
使用量
import { simulate } from '@bjornlu/colorblind'
simulate({ r: 120, g: 50, b: 30 }, 'protanopia')
// => { r: 62, g: 62, b: 30 }
色彩不足可设定为:
| 缺陷 | 说明 |
|---|---|
'protanopia' | 没有红色 |
'deuteranopia' | 没有绿色 |
'tritanopia' | 没有蓝色 |
'achromatopsia' | 无颜色 |
高级
图书馆还输出两个功能:
simulateDichromatic(rgb: RGB, simMatrix: Array<number>): RGBsimulateMonochromatic(rgb: RGB, simMatrix: Array<number>): RGB
你几乎永远不会使用这个 除非你需要进行自定义的颜色模拟.
simulateDichromatic() 接受以9个数字组成的数组表示的模拟矩阵,而 simulateMonochromatic() 接受3个数字的数组.
看看这个 研究 用于计算模拟矩阵.
补充说明
- 文库不假设该颜色的γ,因此在需要时必须手动应用或去除γ校正.
- 该算法不使用daltonization计算结果值.
捐款
任何打字或文件问题都欢迎公关。 关于模拟算法的编辑必须以研究为后盾,最好先在一个问题中讨论.
先前的研究
图书馆实际上计划 是一个重写 颜色盲 删除 单色 依赖和增加打字。 在理解代码如何运作的过程中,我发现 原文参考 已经过时了,有一个 较新的版本。 。 。 .
我也发现了 LMS 版本 聚变装置,恰好是 色彩失明模拟研究。唯一的区别是用于色彩缺陷的模拟矩阵及其后色校正计算.
我最终决定从研究中遵循算法,因为它是我发现的唯一来源,它支撑了数值的计算方式. 所以这意味着这个库不使用分解来计算颜色.
由于我不是这个领域的专家,我将非常赞赏对执行的验证,以及达尔顿化是否是更好的选择.
许可证
麻省理工学院