如何将颜色值跟踪为十六进制数?

时间:2010-12-17 12:50:29

标签: flash actionscript-3 actionscript colors hex

Actionscript:如何以“#FF00FF00”

等格式输出颜色值

所以我使用这样的代码生成颜色ond简单地跟踪tham。如何以十六进制格式跟踪tham?

            var xn:Number;
            var yn:Number;
            var zn:Number;
            var norm:Number;
            var c1:Number;
            var c2:Number;
            var c3:Number;
            var c4:Number;
            var counter:int;
            while (counter < 12000)
            {
                xn = Math.random() * 400 - 200;
                yn = Math.random() * 400 - 200;
                zn = Math.random() * 400 - 200;
                norm = Math.sqrt(xn * xn + yn * yn + zn * zn);
                c1 = (1 - norm / 200) * 255;
                c2 = (1 - norm / 250) * 255;
                c3 = Math.abs(xn) / norm * 255;
                c4 = Math.abs(yn) / norm * 255;
                trace(String(c1 << 24 | c2 << 16 | c3 << 8 | c4));
                counter++;
            }

2 个答案:

答案 0 :(得分:5)

您可以使用 toString 方法:

rgb = 255;
hex = rgb.toString(16);

编辑:正如dome所说,这个方法只是给你一个值的十六进制表示。你不应该像这样转换颜色值。

答案 1 :(得分:2)

看看这个post

方法aeby描述了color.toString(16),它不是准确转换颜色的方法。 [编辑]更好地链接有关正确的color convertion和字母extraction

的阅读