【问题标题】:Convert ARGB to RGBA using C#使用 C# 将 ARGB 转换为 RGBA
【发布时间】:2014-10-01 19:02:36
【问题描述】:

我在 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 格式而不是 ARGB 格式创建颜色?
  • 您需要 RGBA 来创建新颜色,还是尝试从您创建的颜色中获取 RGBA?
  • 我正在尝试从 ARGB COLOR: 80, 20, 86, 20 创建 RGBA 颜色
  • “渲染不一样” - 如何你是如何渲染 ARGB 和 RGBA 颜色的?

标签: c# rgba argb


【解决方案1】:
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);

【讨论】:

    【解决方案2】:

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

    来自 ARGB: 80、20、86、20

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

    谢谢

    【讨论】:

    • 这个问题的信息量很少。我仍然不知道问题也不知道解决方案。
    • 显然你错过了我的“相关”链接:Fast Converting RGBA to ARGB
    猜你喜欢
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多