UNPKG

hex-argb-converter

Version:

You can convert hex color to argb number and convert argb number to hex color

32 lines (31 loc) 922 B
function parseIntHex(value: string) { return parseInt(value, 16); } export function hexToArgb(hex: string): number { hex = hex.replace("#", ""); const isThree = hex.length === 3; const isSix = hex.length === 6; const isEight = hex.length === 8; if (!isThree && !isSix && !isEight) { throw new Error("unexpected hex " + hex); } let r = 0; let g = 0; let b = 0; if (isThree) { r = parseIntHex(hex.slice(0, 1).repeat(2)); g = parseIntHex(hex.slice(1, 2).repeat(2)); b = parseIntHex(hex.slice(2, 3).repeat(2)); } else if (isSix) { r = parseIntHex(hex.slice(0, 2)); g = parseIntHex(hex.slice(2, 4)); b = parseIntHex(hex.slice(4, 6)); } else if (isEight) { r = parseIntHex(hex.slice(2, 4)); g = parseIntHex(hex.slice(4, 6)); b = parseIntHex(hex.slice(6, 8)); } return ( ((255 << 24) | ((r & 0x0ff) << 16) | ((g & 0x0ff) << 8) | (b & 0x0ff)) >>> 0 ); }