天天看點

[Silverlight]16進制顔色轉ARGB及Color轉Int32

16進制色字元串轉ARGB

做Web的都喜歡用16進制字元串辨別顔色,比如“#F5F5F5”這類的,自然這個到了Silverlight/WPF中就要用ARGB表示:“#FFF5F5F5”(前兩位辨別Alpha,即透明度)。這在XAML中沒有任何問題,可是如果我們想在代碼中設定顔色呢,或者是從XML中讀取的相關值呢?

<a href="http://images.cnblogs.com/cnblogs_com/024hi/WindowsLiveWriter/Silverlight16ARGBColorInt32_146C2/image_2.png"></a>

必然會報錯嘛,至少我是不知道SL或者WPF有沒有公開這個Converter,反正俺是無能為力

這裡提供一個代碼片段,幫助我們将16進制字元串轉為ARGB色

自然就沒問題了

Color轉Int32

看到這裡你可能要問了,Color轉int有啥用啊?其實如果你在用一些現有的圖像庫的時候,它們經常将Color表現為一個int值。在這種情況下,ARGB值是通過其AARRGGBB的byte的順序用32位int表現的。這裡我們可以做如下轉換:

<a href="http://11011.net/software/vspaste"></a>

以下是這兩個方法的一個綜合應用:

猜猜MessageBox Show出來的值是什麼?

OK,散會:)

本文轉自紫色永恒51CTO部落格,原文連結: http://www.cnblogs.com/024hi/archive/2009/09/28/1576040.html,如需轉載請自行聯系原作者