25 lines
667 B
JavaScript
25 lines
667 B
JavaScript
|
import Color from 'color';
|
||
|
import patternReg from './patternReg';
|
||
|
|
||
|
export default function (colorOrBrush) {
|
||
|
/*eslint eqeqeq:0*/
|
||
|
if (colorOrBrush === 'none' || colorOrBrush == null) {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
let matched = colorOrBrush.match(patternReg);
|
||
|
// brush
|
||
|
if (matched) {
|
||
|
return [1, matched[1]];
|
||
|
//todo:
|
||
|
} else { // solid color
|
||
|
let [r, g, b, a = 1] = Color(colorOrBrush).rgb().array();
|
||
|
return [0, r / 255, g / 255, b / 255, a];
|
||
|
}
|
||
|
} catch (err) {
|
||
|
console.warn(`"${colorOrBrush}" is not a valid color or brush`);
|
||
|
return null;
|
||
|
}
|
||
|
}
|