我正在處理幾個將顏色作爲uint的組件,但是我使用的顏色格式爲「#161616」。我不確定兩種顏色之間的關係是什麼或者如何從一個到另一個。Actionscript flex:將#個顏色轉換爲uint
它不一定是一個動作解決方案。我只有少數這些顏色,所以也可以手動完成。
我正在處理幾個將顏色作爲uint的組件,但是我使用的顏色格式爲「#161616」。我不確定兩種顏色之間的關係是什麼或者如何從一個到另一個。Actionscript flex:將#個顏色轉換爲uint
它不一定是一個動作解決方案。我只有少數這些顏色,所以也可以手動完成。
var color:uint = 0x161616;
或者,它們編程轉換:
var s:String = "#161616";
var color:uint = uint("0x" + s.substr(1));
var i : uint = uint("0x161616");
請注意,在Flex的樣式表要在形式#FFFFFF的顏色值...不0XFFFFFF。 MXML元素樣式屬性不關心。雖然當你開始寫這樣的東西:
<mx:VBox backgroundColor="
智能感知提示您輸入一個uint值;如果你繼續和完成它像這樣
<mx:VBox backgroundColor="#FFFFFF"></VBox>
它仍然會讓你的backgroundColor一樣,如果你寫了
<mx:VBox backgroundColor="0xFFFFFF"></VBox>
在這裏,你是我的utils的功能2:
public static function convertUintToString(color:uint):String {
return color.toString(16);
}
public static function convertStringToUint(value:String, mask:String):uint {
var colorString:String = "0x" + value;
var colorUint:uint = mx.core.Singleton.getInstance("mx.styles::IStyleManager2").getColorName(colorString);
return colorUint;
}
正確的方法是使用StyleManager.getColorName()
查看完整的documentation
沒辦法,那太棒了。我現在覺得稍微遲鈍:) – Daryl 2010-03-12 20:14:32
真棒,謝謝! – Delcasda 2016-08-29 20:29:20