-1

我在 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 ??

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

事先感谢

4

2 回答 2

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

或从十六进制到 RGBA

Color c = ColorTranslator.FromHtml(hexcolor);
string rgba= String.Format("rgba({0},{1},{2},{3})", col.R, col.G, col.B, c.A);
于 2014-11-04T13:10:45.770 回答
-1

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

从 ARGB: 80、20、86、20

RGBA:20、86、20 、.3(注意 .3 是近似值,因为我不确定如何计算 alpha)

谢谢

于 2014-10-01T20:20:00.080 回答