#javascript #html #flash #color-scheme
#javascript #HTML #flash #цветовая схема
Вопрос:
Я пытаюсь преобразовать десятичный цветовой код из флэш-приложения в шестнадцатеричный цветовой код для отображения HTML
У меня есть эти числа длиной 8 цифр, но я не уверен, являются ли они ARGB или RGBA. Есть ли способ выяснить это из самих цветовых кодов?
У меня есть функция javascript, которая может преобразовывать десятичное число в шестнадцатеричное число, но я не компенсирую значение A (или удаляю его). Можете ли вы помочь мне исправить мою функцию для извлечения / удаления значения A из десятичного кода RGB?
function decimalToHex( num )
{
if (num == null || num == "undefined") { return "0xFFFFFF"; }
var intNum = (parseInt(num,10)) amp; 8; // does this remove the most significant 8 bits?
return intNum.toString(16);
}
Комментарии:
1. Ваш вопрос не имеет никакого смысла. Вы пытаетесь преобразовать dec в hex или RGBA с цветом фона в RGB?
2.
Is there a way to figure this out from the colour codes themselves?
Нет; по крайней мере, не во всех случаях.3. ну, я пытаюсь преобразовать значение flash col (которое я не уверен, является ли оно либо ARGB, либо RGBA) в что-то вроде формы #ffffff. Так будет ли это десятичным в шестнадцатеричном?
Ответ №1:
Если альфа-значение находится в старшем байте, то побитово И с 0x00FFFFFF, чтобы удалить это. Итак:
var intNum = (parseInt(num,10)) amp; 0x00FFFFFF;
Или, если альфа-значение находится в младшем байте, побитово И с 0xFFFFFF00, затем сдвиньте вправо на 8:
var intNum = (parseInt(num,10) amp; 0xFFFFFF00) >> 8;