【问题标题】:Converting uint to Color将 uint 转换为颜色
【发布时间】:2012-11-06 15:11:21
【问题描述】:

如何将 uint 值转换为 ARGB System.Drawing.Color?我还没有在网上找到这个...

我刚刚找到了将 ARGB 转换为 uint 的方法。

我的uint 值来自:

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

【问题讨论】:

    标签: c# winforms colors


    【解决方案1】:

    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);
    

    【讨论】:

    • 为什么不呢?那么返回什么类型的变量呢?
    • @Victor 啊,我明白了。由于格式相同 (0xAARRGGBB),您可能只需要转换结果即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 2014-07-31
    相关资源
    最近更新 更多