C# 通过十六进制代码设置颜色
我正在使用RGBA值设置textmeshpro的文本颜色。我想用十六进制代码来设置它。我有一个十六进制颜色值数组。我如何将其统一起来C# 通过十六进制代码设置颜色,c#,unity3d,C#,Unity3d,我正在使用RGBA值设置textmeshpro的文本颜色。我想用十六进制代码来设置它。我有一个十六进制颜色值数组。我如何将其统一起来 using UnityEngine.UI; public TMP_Text textMeshPro; public string[] colorListHex = { "#FF0000", "#754C24", "#5DA500"}; void Start(){ textMeshPro.colo
using UnityEngine.UI;
public TMP_Text textMeshPro;
public string[] colorListHex = { "#FF0000", "#754C24", "#5DA500"};
void Start(){
textMeshPro.color = new Color32 (255, 0, 0, 255); //How do I set it to be colorListHex[0] instead of using rgba?
}
试试这个
Color colorFromHex;
ColorUtility.TryParseHtmlString(colorListHex[0], out colorFromHex);
这是否回答了您的问题@康纳斯托普嗨,对不起,但从Unity的角度来看,我认为它不起作用。检查
ColorUtility.ToHtmlStringRGB
返回表示颜色的字符串十六进制字符串。可以在一行中完成ColorUtility.TryParseHtmlString(colorListHex[0],out var colorFromHex)代码>;)并且应该始终与if
一起使用,以检查它是否能够真正解析