Travis build: 391
This commit is contained in:
@ -6,20 +6,28 @@ Use bitwise right-shift operator and mask bits with `&` (and) operator to conver
|
||||
|
||||
```js
|
||||
const hexToRGB = hex => {
|
||||
let alpha = false, h = hex.slice(hex.startsWith('#') ? 1 : 0);
|
||||
let alpha = false,
|
||||
h = hex.slice(hex.startsWith('#') ? 1 : 0);
|
||||
if (h.length === 3) h = [...h].map(x => x + x).join('');
|
||||
else if (h.length === 8) alpha = true;
|
||||
h = parseInt(h, 16);
|
||||
return 'rgb' + (alpha ? 'a' : '') + '(' +
|
||||
(h >>> (alpha ? 24 : 16)) + ', ' +
|
||||
((h & (alpha ? 0x00ff0000 : 0x00ff00)) >>> (alpha ? 16 : 8)) + ', ' +
|
||||
return (
|
||||
'rgb' +
|
||||
(alpha ? 'a' : '') +
|
||||
'(' +
|
||||
(h >>> (alpha ? 24 : 16)) +
|
||||
', ' +
|
||||
((h & (alpha ? 0x00ff0000 : 0x00ff00)) >>> (alpha ? 16 : 8)) +
|
||||
', ' +
|
||||
((h & (alpha ? 0x0000ff00 : 0x0000ff)) >>> (alpha ? 8 : 0)) +
|
||||
(alpha ? `, ${(h & 0x000000ff)}` : '') + ')';
|
||||
(alpha ? `, ${h & 0x000000ff}` : '') +
|
||||
')'
|
||||
);
|
||||
};
|
||||
```
|
||||
|
||||
```js
|
||||
hexToRGB('#27ae60ff') // 'rgba(39, 174, 96, 255)'
|
||||
hexToRGB('27ae60') // 'rgb(39, 174, 96)'
|
||||
hexToRGB('#fff') // 'rgb(255, 255, 255)'
|
||||
hexToRGB('#27ae60ff'); // 'rgba(39, 174, 96, 255)'
|
||||
hexToRGB('27ae60'); // 'rgb(39, 174, 96)'
|
||||
hexToRGB('#fff'); // 'rgb(255, 255, 255)'
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user