Pra*_*eep 8 c# silverlight wpf
我有一个存储为int类型的ARGB值.它是通过调用ToArgb存储的.
我现在想要int值的各个颜色通道的字节值.
例如
int mycolor = -16744448;
byte r,g,b,a;
GetBytesFromColor(mycolor,out a, out r, out g, out b);
Run Code Online (Sandbox Code Playgroud)
你将如何实现GetBytesFromColor?
为了给出上下文,我将db中的颜色值作为int传递给silverlight应用程序,该应用程序需要单个字节值来构造颜色对象.
System.Windows.Media.Color.FromArgb(byte a, byte r, byte g, byte b)
Run Code Online (Sandbox Code Playgroud)
Mar*_*ell 13
您是从32位整数后的4个连续8位块之后; 所以掩蔽和移动的组合:
b = (byte)(myColor & 0xFF);
g = (byte)((myColor >> 8) & 0xFF);
r = (byte)((myColor >> 16) & 0xFF);
a = (byte)((myColor >> 24) & 0xFF);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3613 次 |
| 最近记录: |