2012-11-18 229 views
3

如何将uint值转换为ARGB System.Drawing.Color?我还没有在互联网上发现这个...将uint转换为颜色

我刚刚找到了方法ARGB到uint

uint价值来自何处:

uint aeroColor; 
Dwmapi.DwmGetColorizationColor(out aeroColor, out opaque); 

回答

5

什么是uint代表什么?在一般情况下,你可以使用这个:

Color c = Color.FromArgb(intvalue); 

使用appropriate overload。但是,这期望int,而不是uint。如果你有相同的内存布局uint(如你的情况),那么下面应该工作:

uint aeroColor; 
Dwmapi.DwmGetColorizationColor(out aeroColor, out opaque); 
Color c = Color.FromArgb((int) aeroColor); 
+0

看到我的编辑是什么我UINT;) – Victor

+0

为什么不呢?那么什么类型的变量返回它? – Victor

+0

@Victor啊,我明白了。由于格式相同(0xAARRGGBB),您可能只需投射结果即可。 –