#region Unity颜色Tools
/// <summary>
/// 自定义颜色枚举,添加的颜色需要定义在 GetStringColor 函数中
/// </summary>
public enum Palette
{
White,
}
/// <summary>
/// 传入一个颜色枚举,得到配置好的16进制的颜色
/// </summary>
/// <param name="color"></param>
/// <returns></returns>
static string GetStringColor(Palette color)
{
switch (color)
{
case Palette.White:
return "ffffffff";
}
return "ffffffff";
}
/// <summary>
/// 传入一个16进制的颜色,得到一个Color
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
static Color GetColorByStr(string str)
{
Color color = new Color();
color.r = (float)System.Convert.ToByte(str.Substring(0, 2), 16) / 255.0f;
color.g = (float)System.Convert.ToByte(str.Substring(2, 2), 16) / 255.0f;
color.b = (float)System.Convert.ToByte(str.Substring(4, 2), 16) / 255.0f;
if (str.Length > 6)
{
color.a = (float)System.Convert.ToByte(str.Substring(6, 2), 16) / 255.0f;
}
else
{
color.a = 1;
}
return color;
}
/// <summary>
/// 获取自定义颜色
/// </summary>
/// <param name="palette"></param>
/// <returns></returns>
public static Color GetColor(Palette palette)
{
return GetColorByStr(GetStringColor(palette));
}
/// <summary>
/// 传入一个颜色枚举和字符串,返回修改过颜色的富文本格式的字符串
/// </summary>
/// <param name="color"></param>
/// <param name="str"></param>
/// <returns></returns>
public static string SetRichTextColor(Palette color, string str)
{
return "<color=#" + GetStringColor(color) + ">" + str + "</color>";
}
#endregion
unity自定义颜色获取与格式转换
最新推荐文章于 2024-08-09 16:29:12 发布