在WPF中将整数转换为颜色

时间:2014-01-21 02:23:48

标签: c# .net wpf colors

如何在WPF中将整数转换为颜色? 例如,我想将16711935转换为颜色。

如何在WPF中的Windows窗体中执行以下操作?

myControl.Background = Color.FromArgb(myColorInt);

3 个答案:

答案 0 :(得分:12)

使用BitConverter类将您的值转换为字节数组,这样您就不需要导入另一个命名空间。

byte[] bytes = BitConverter.GetBytes(16711935);
this.Background = new SolidColorBrush( Color.FromArgb(bytes[3],bytes[2],bytes[1],bytes[0]));

答案 1 :(得分:3)

您想使用System.Drawing.Color,而不是System.Windows.Media.Color

var myColor = System.Drawing.Color.FromArgb(16711935);

Ooookay,不确定这是非常漂亮,但你可以从一个Color类转换到另一个,然后在SolidColorBrush ctor中使用它:

myControl.Background = new SolidColorBrush(
  System.Windows.Media.Color.FromArgb(myColor.A,myColor.R,myColor.G,myColor.B));

答案 2 :(得分:1)

System.Windows.Media.Color结构具有类似的方法,但它们具有Byte类型的参数。您可以使用BitConverter类在字节数组和Int32之间进行转换。