Как я могу конвертировать ARGB в HEX в JavaScript?
Я хочу конвертировать цвета ARGB в CSS-совместимый гекс
например:
-1
следует преобразовать в #FFFFFF
или же
-16777216
в #000000
Как я могу сделать это в JavaScript?
3 ответа
Это отбрасывает любой альфа-компонент
function argbToRGB(color) {
return '#'+ ('000000' + (color & 0xFFFFFF).toString(16)).slice(-6);
}
Ваши цвета подписаны 32-битными, а полная альфа (0xFF) делает числа отрицательными. Этот код работает даже для беззнаковых чисел.
Вы можете проверить этот вопрос: Как я могу преобразовать целое число в цвет JavaScript?
В моем ответе на этот вопрос было грубо предположить, что, если вы хотите использовать библиотеку, а не кодировать ее самостоятельно, библиотека javascript pusher.color поддерживает преобразования цвета целое в HTML:
// Will set c to "#695083"
var c = pusher.color('packed_argb', -9875325).hex6();
Вот JSFiddle, если вы хотите попробовать вышеизложенное.
Кроме того, позвольте мне добавить отказ от ответственности, который я написал библиотеку, упомянутую выше.
Я предполагаю, что вы хотите что-то вроде этого:
function convertToColorString (argb){
return '#'+ ('000000' + (argb+16777216).toString(16)).slice(-6);
}