color namer
v1.4.0
給我一種顏色,我會給它命名。
Color Namer 是一個在 Node.js 或瀏覽器中使用的 npm 套件,它使用 Delta-E 色差技術計算色距。給定十六進位 RGB、RGBA、HSL 或 HSV 格式的顏色,它會將顏色轉換到 L a b* 顏色空間,然後計算該顏色與一組已知名稱的顏色的歐幾里德距離。
D3 的 Mike Bostock 對此做了很好的解釋:
Lab 和 HCL 色彩空間的特殊之處在於,兩種顏色之間的感知差異與其在顏色空間中的歐幾里德距離成正比。這種稱為感知均勻性的特殊屬性使它們成為精確資料視覺編碼的理想選擇。相較之下,較熟悉的 RGB 和 HSL 色彩空間在用於視覺化時會扭曲資料。
顏色名稱源自多個清單:
npm install color-namer --save
需要模組:
var namer = require ( 'color-namer' )
var names = namer ( "#FF0000" )
從上面的程式碼中,每個列表的names
都有一個鍵:
names.roygbiv
names.basic
names.html
names.x11
names.pantone
names.ntc
每個列表都是一個顏色數組,按它們與給定顏色的感知相似度排序:
[
{ name : 'red' ,
hex : '#FF0000' ,
distance : 0
} , {
name : 'orangered' ,
hex : '#FF4500' ,
distance : 13.170205025755513
} , {
name : 'tomato' ,
hex : '#FF6347' ,
distance : 31.733444038510665
} , {
name : 'crimson' ,
hex : '#DC143C' ,
distance : 35.38084849496472
} , {
name : 'firebrick' ,
hex : '#B22222' ,
distance : 40.71076805218006
} , {
name : 'coral' ,
hex : '#FF7F50' ,
distance : 42.340752375722616
} , {
name : 'chocolate' ,
hex : '#D2691E' ,
distance : 44.378454180212145
}
]
其他輸入格式也可以使用,例如 HSL、RGB 和 RGBA:
name ( "hsl(50,100%,50%)" )
name ( "rgb(255,0,0)" )
name ( "rgba(255,0,0,1)" )
此選項允許我們從專用清單中派生名稱以加快計算速度。
var names = namer ( color , { pick : [ 'basic' , 'x11' ] } )
// output: { basic: [...], x11: [...] }
與options.pick
相反。
var names = namer ( color , { omit : [ 'pantone' , 'roygbiv' ] } )
// output: { basic: [...], html: [...], x11: [...], ntc: [...] }
如果是“deltaE”,則使用 Delta-E 距離函數,否則使用預設距離函數。
var names = namer ( color , { pick : [ 'basic' ] , distance : 'deltaE' } ) ;
// output: { basic: [...] }
npm install
npm test
麻省理工學院