使用C#将ARGB转换为RGBA

时间:2014-10-01 19:02:36

标签: c# rgba argb

我在C#中有以下代码:

Color c;
// Setup ARGB COLOR 80, 20, 86, 20
            c = Color.FromArgb(80, 20, 86, 20);

            int r, g, b, a;

            r = c.R;
            g = c.G;
            b = c.B;
            a = c.A;

            MessageBox.Show("The color in RGBA format is : " +
                            r.ToString() + " " + 
                            g.ToString() + " " + 
                            b.ToString() + " " + 
                            a.ToString());

我正在尝试将颜色转换为RGBA格式。我以为它只会是:

20,86,20,80< == RGBA ??

但颜色不同。我错过了什么吗?转换它需要代码吗?

先谢谢

2 个答案:

答案 0 :(得分:0)

Color c;
// Setup ARGB COLOR 80, 20, 86, 20
            c = Color.FromArgb(80, 20, 86, 20);

            int r, g, b, a;

            r = c.R;
            g = c.G;
            b = c.B;
            a = c.A;
String rgba = String.Format("rgba({0},{1},{2},{3})", c.R, c.G, c.B, c.A);

或者从HEX到RGBA

Color c = ColorTranslator.FromHtml(hexcolor);
string rgba= String.Format("rgba({0},{1},{2},{3})", col.R, col.G, col.B, c.A);

答案 1 :(得分:-1)

我发现无法以编程方式执行此操作。 (如果有人知道请告诉我怎么样)我最终做了反复试验,直到找到了正确的值。

FROM ARGB: 80,20,86,20

到RGBA: 20,86,20,.3(注意.3是近似的,因为我不知道如何计算alpha)

由于