color namer
v1.4.0
색상을 알려주시면 이름을 지정해 드리겠습니다.
Color Namer는 Node.js 또는 Delta-E 색상 차이 기술을 사용하여 색상 거리를 계산하는 브라우저에서 사용하기 위한 npm 패키지입니다. 16진수 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
MIT