问题描述
System.Drawing.Color具有ToArgb()方法以返回颜色的Int表示。
在Silverlight中,我认为我们必须使用System.Windows.Media.Color。它具有A,R,G,B成员,但是没有返回单个值的方法。
如何实现ToArgb()?在System.Drawing.Color中,ToArgb()由
System.Drawing.Color has a ToArgb() method to return the Int representation of the color.
In Silverlight, I think we have to use System.Windows.Media.Color. It has A, R, G, B members, but no method to return a single value.
How can I implement ToArgb()? In System.Drawing.Color, ToArgb() consists of
return (int) this.Value;
System.Windows.Media.Color具有FromArgb(字节A,字节R,字节G,字节B)方法。如何分解ToArgb()返回的Int与FromArgb()一起使用?
System.Windows.Media.Color has a FromArgb(byte A, byte R, byte G, byte B) method. How do I decompose the Int returned by ToArgb() to use with FromArgb()?
感谢任何指针...
推荐答案
快捷。
// To integer
int iCol = (color.A << 24) | (color.R << 16) | (color.G << 8) | color.B;
// From integer
Color color = Color.FromArgb((byte)(iCol >> 24),
(byte)(iCol >> 16),
(byte)(iCol >> 8),
(byte)(iCol));
这篇关于实现ToArgb()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!