本文介绍了实现ToArgb()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-10 18:35