unity3d ColorHex转换成color颜色

作者: 好怕怕 | 来源:发表于2017-06-07 19:45 被阅读3960次

例如将 #00FFF4FF 转换成 Color,或者将一个color转换成#00FFF4FF格式

  /// <summary>
  /// color 转换hex
  /// </summary>
  /// <param name="color"></param>
  /// <returns></returns>
  public static string ColorToHex(Color color)
  {
      int r = Mathf.RoundToInt(color.r * 255.0f);
      int g = Mathf.RoundToInt(color.g * 255.0f);
      int b = Mathf.RoundToInt(color.b * 255.0f);
      int a = Mathf.RoundToInt(color.a * 255.0f);
      string hex = string.Format("{0:X2}{1:X2}{2:X2}{3:X2}", r, g, b, a);
      return hex;
  }

  /// <summary>
  /// hex转换到color
  /// </summary>
  /// <param name="hex"></param>
  /// <returns></returns>
  public Color HexToColor(string hex)
  {
      byte br = byte.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
      byte bg = byte.Parse(hex.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);
      byte bb = byte.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
      byte cc = byte.Parse(hex.Substring(6, 2), System.Globalization.NumberStyles.HexNumber);
      float r = br / 255f;
      float g = bg / 255f;
      float b = bb / 255f;
      float a = cc / 255f;
      return new Color(r, g, b, a);
  }

相关文章

网友评论

    本文标题:unity3d ColorHex转换成color颜色

    本文链接:https://www.haomeiwen.com/subject/nguafxtx.html