WPF color、brush、string轉換

//color轉爲brush:
Brush br = new SolidColorBrush(Color.FromRgb(000)); 
//string轉Color
(Color)ColorConverter.ConvertFromString((string)str);
//Color轉string((Color)value).ToString();
string和Brush的轉換
Brush color = newSolidColorBrush((Color)ColorConverter.ConvertFromString((string)str)); 
//Brush轉string
((Brush)value).ToString();
//string轉byte[]
System.Text.UnicodeEncoding converter = newSystem.Text.UnicodeEncoding();
byte[] stringBytes = converter.GetBytes(inputString); 
//byte[]轉string
System.Text.UnicodeEncoding converter = newSystem.Text.UnicodeEncoding();
stringoutputString = converter.GetString(stringByte); 

1.由string的rgb數值”255,255,0”轉換爲color

{
  string[]  color_params = e.Parameter.ToString().Split(',');
  byte color_R = Convert.ToByte(color_params[0]);
  byte color_G = Convert.ToByte(color_params[1]);
  byte color_B = Convert.ToByte(color_params[2]);
}

2.由顏色名稱字符串(“black”) 轉化爲color

{ 
  //ColorConverter c = new ColorConverter();
  //object obj = c.ConvertFrom();
  //Color color = (Color)obj;
  Color color = Color.FromRgb(color_R, color_G, color_B);   
}

3.將blend的 8位顏色值轉爲color

/// <summary> 
/// 將blend的8位顏色值轉爲color
/// </summary>
/// <param name="colorName"></param>
/// <returns></returns>
public Color ToColor(string colorName)
{
    if (colorName.StartsWith("#"))
        colorName = colorName.Replace("#", string.Empty);
    int v = int.Parse(colorName, System.Globalization.NumberStyles.HexNumber);
    return new Color()
    {
        A = Convert.ToByte((v >> 24) & 255),
        R = Convert.ToByte((v >> 16) & 255),
        G = Convert.ToByte((v >> 8) & 255),
        B = Convert.ToByte((v >> 0) & 255)
    };
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章