PDA

Просмотр полной версии : помогите преобразовать 0хFF3300 в 3 десятиричных числа


artcraft
10.10.2005, 05:42
как преобразовать шестнадцетиричное 0хFF3300 в 3 десятиричных числа (RGB)

artcraft
10.10.2005, 05:58
var r=255; var g=51; var b=0;
var x = r << 16 | g << 8 | b;
trace("0x" + x.toString(16)); // outputs 0xff3300

а как наоборот? :~\

artcraft
10.10.2005, 06:12
var c = 0xff3300;
var s = c.toString(16);
var r:Number=parseInt(s.substring(0,2), 16);
var g:Number=parseInt(s.substring(2,4), 16);
var b:Number=parseInt(s.substring(4,6), 16);

trace(r+' '+g+' '+b); // outputs 255 51 0


не самый красивый способ - наверняка возможно без преобразования в строку

iNils
10.10.2005, 11:40
rgb = 0xffccdd;
r = (rgb >> 16) & 0xFF;
g = (rgb >> 8) & 0xFF;
b = rgb & 0xFF;
trace ("dec форма");
trace (r + " " + g + " " + b);
trace ("hex форма");
trace (r.toString (16) + " " + g.toString (16) + " " + b.toString (16));