Просмотр полной версии : помогите преобразовать 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
не самый красивый способ - наверняка возможно без преобразования в строку
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));
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.