最近在做圖形合成,遇到一個惱人問題..
就是常會遇到需要把 #FFFFFF 轉成Color物件,但是沒有提供此function 來轉..
網路上面看到一段非常有效的範例..寫得很方便使用..
參考來源: http://silverlemma.blogspot.tw/2009/03/c-converting-from-hex-string-to-color.html
public Color HexColor(String hex)
{
//將井字號移除
hex = hex.Replace("#", "");
byte a = 255;
byte r = 255;
byte g = 255;
byte b = 255;
int start = 0;
//處理ARGB字串
if (hex.Length == 8)
{
a = byte.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
start = 2;
}
// 將RGB文字轉成byte
r = byte.Parse(hex.Substring(start, 2), System.Globalization.NumberStyles.HexNumber);
g = byte.Parse(hex.Substring(start + 2, 2), System.Globalization.NumberStyles.HexNumber);
b = byte.Parse(hex.Substring(start + 4, 2), System.Globalization.NumberStyles.HexNumber);
return Color.FromArgb(a, r, g, b);
}
使用方式 :
Brush br = new SolidBrush(HexColor("#3ea530"));
變得非常簡單,紀錄一下,真的每次要找都要花一點時間..