如何在WPF中将整数转换为颜色? 例如,我想将16711935转换为颜色。
如何在WPF中的Windows窗体中执行以下操作?
myControl.Background = Color.FromArgb(myColorInt);
答案 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之间进行转换。