如何使用TryParseHtmlString将hex转换为Color(RGBA)
如何使用HEX值更改Unity中的按钮颜色?
我尝试了这个,但它不起作用,也许我在这里犯了一个错误:
btn.image.color = ColorUtility.TryParseHtmlString(DADADAFF, out color);
您将bool分配给Color( btn.image.color
)。
如果成功, ColorUtility.TryParseHtmlString
返回bool
而不是Color
。 您将获得第二个参数中的输出颜色,然后将其分配给Button
。 如果ColorUtility.TryParseHtmlString
返回true,则仅使用输出颜色。
下面是代码应该是什么样子:
string htmlValue = "#FF0000"; Button btn = GetComponent
要将颜色转换回hex:
Color newCol = Color.red; string htmlValue = ColorUtility.ToHtmlStringRGBA(newCol);
所以没有办法只分配Hex颜色而不检查它是否可以先转换为RGB?
有。 删除if
语句。
ColorUtility.TryParseHtmlString(htmlValue, out newCol); btn.image.color = newCol;
不要这样做,因为您的Color
结果可能是错误的。 您应该像我在第一个代码中那样使用if
语句来处理这个问题。