【问题标题】:Convert color to byte value将颜色转换为字节值
【发布时间】:2013-01-14 03:16:19
【问题描述】:

在 C# 中,如何将 Color 对象转换为 byte 值?

例如,颜色#FFF 将转换为值255

【问题讨论】:

  • 谷歌搜索时没有找到this吗?这是我搜索“将 html 颜色转换为 .net 颜色”时的第一个匹配项。
  • 下面的答案暗示 ColorConverter.ConvertFromString() 可能更可取。
  • 我在 c# 中有一个颜色变量,我希望将其转换为字节值。并感谢您的负面意见,我不会在这里发布更多问题。
  • 您使用什么颜色系统,颜色由单个 8 位值表示?顺便说一句,我不是反对你的人之一。
  • 如果你想要颜色的字节值,你只需要访问color.Rcolor.Gcolor.B。不过,这会给你三个字节,而不仅仅是一个。

标签: c# image hex


【解决方案1】:

您可以通过以下方式获取 .NET Color 对象的字节值:

byte red = color.R;
byte green = color.G;
byte blue = color.B;

这给了你 3 个字节。我不知道您希望如何获得单字节值。颜色(AFAIK)几乎从不由单个字节表示。

【讨论】:

    【解决方案2】:

    您可以使用ColorConverter 类中的ConvertFromString() 方法。

    尝试将字符串转换为颜色。

    Return Value
    Type: System.Object
    A Color that represents the converted text.
    

    ColorConverter c = new ColorConverter();
    Color color = (Color)c.ConvertFromString("#FFF");
    Console.WriteLine(color.Name);
    

    【讨论】:

      【解决方案3】:

      试试这个,

      string colorcode = "#FFFFFF00";
      int argb = Int32.Parse(colorcode.Replace("#", ""), NumberStyles.HexNumber);
      Color clr = Color.FromArgb(argb);
      

      也可以看到How to get Color from Hexadecimal color code using .NET?

      【讨论】:

        【解决方案4】:

        您可以使用ColorTranslator.FromHtml 函数:

        Color color = ColorTranslator.FromHtml("#FFF");
        

        【讨论】:

        • 我的意思是我有颜色值,我想把它转换成字节值
        • 颜色a; //------------- 它包含#FFF 现在我想要一个字节值
        • 这不是您在问题中写的。你写的正好相反。
        • 不,我写的一样,...检查标题。如何将 c# 中的颜色转换为字节值?
        • 那么我猜你是唯一一个理解它的人,因为你可以看到所有的答案都完全相反。如何从字符串中获取 Color 实例。
        猜你喜欢
        • 1970-01-01
        • 2014-12-05
        • 2013-12-10
        • 1970-01-01
        • 2013-03-21
        • 2012-12-23
        • 1970-01-01
        • 2016-10-09
        • 1970-01-01
        相关资源
        最近更新 更多