如何在AS3中将RGB颜色转换为十六进制?例如:R = 253 G = 132 B = 58。
Tks。
最佳答案
Robusto的解决方案太慢了。
因为RGB值是这样存储的:
8b Red | 8b Green | 8b Blue
并且0-255的值(不是巧合)也具有8b,您可以使用按位左移来获取int值,然后可以获取十六进制(快3倍)。所以:
var intVal:int = red << 16 | green << 8 | blue;
var hexVal:String = intVal.toString(16);
hexVal = "#" + (hexVal.length < 6 ? "0" + hexVal : hexVal);
其中红色,绿色和蓝色是要转换的RGB值。