C# 将此类型颜色值转换为ARGB

C# 将此类型颜色值转换为ARGB,c#,C#,如果输入0xFFFFFF,则输出必须为: A:255 R:255 G:255 B:255 我找不到任何转换此文件的教程。谢谢 移位和掩蔽 (尽管有些人更喜欢使用/256进行移位,使用%256进行遮罩) 您可以使用Color结构(来自.NETSystem.Drawing程序集)来解析此项: using System; using System.Drawing; void Main() { var c = Color.FromArgb(unchecked((int)0xaa336539))

如果输入0xFFFFFF,则输出必须为: A:255 R:255 G:255 B:255

我找不到任何转换此文件的教程。谢谢

移位和掩蔽

(尽管有些人更喜欢使用
/256
进行移位,使用
%256
进行遮罩)


您可以使用
Color
结构(来自.NET
System.Drawing
程序集)来解析此项:

using System;
using System.Drawing;

void Main()
{
    var c = Color.FromArgb(unchecked((int)0xaa336539));
    Console.WriteLine("Alpha: {0}", c.A);
    Console.WriteLine("Red: {0}", c.R);
    Console.WriteLine("Green: {0}", c.G);
    Console.WriteLine("Blue: {0}", c.B);
}
将生成以下输出:

Alpha: 170
Red: 51
Green: 101
Blue: 57

展示你所做的。在描述中发布代码。我仍然没有做任何事情,因为我不知道转换的公式。你能告诉我这是什么颜色吗?“0xaa336539”使用计算器,您将看到十六进制
0xaa
转换为十进制
170
0x33
=
51
,等等。我不明白。对不起:\。我没有这种颜色的背景。基本上你有32位信息定义了四个8位颜色通道,你想提取每个通道,你也可以使用:
var c=color.FromArgb(unchecked((int)0xaa336539))
然后只访问R、G、B和A属性。使用@ChrisDunway推荐的.NET方法可能更好,而不是像我一样滚动自己的方法(但也许我的方法有助于显示事物的起源)。如果他回答了,你应该把复选标记移到他的参考URL上。嗯,C标记消失了。。。也许它不再是.NET的东西了
using System;
using System.Drawing;

void Main()
{
    var c = Color.FromArgb(unchecked((int)0xaa336539));
    Console.WriteLine("Alpha: {0}", c.A);
    Console.WriteLine("Red: {0}", c.R);
    Console.WriteLine("Green: {0}", c.G);
    Console.WriteLine("Blue: {0}", c.B);
}
Alpha: 170
Red: 51
Green: 101
Blue: 57