Version: 5.4 (switch to 5.5b)
言語English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

ColorUtility.TryParseHtmlString

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

マニュアルに切り替える
public static function TryParseHtmlString(htmlString: string, out color: Color): bool;
public static bool TryParseHtmlString(string htmlString, out Color color);

Parameters

htmlString 大文字小文字を区別せずに色に変換する HTML 文字列
color 変換された色

Returns

bool 文字列が正常に変換されると、True 。そうでなければ False です。

Description

HTML カラー文字列に変換しようとします。

Strings that begin with '#' will be parsed as hexadecimal in the following way:
#RGB (becomes RRGGBB)
#RRGGBB
#RGBA (becomes RRGGBBAA)
#RRGGBBAA

指定されていないアルファはデフォルトで FF になります。
Strings that do not begin with '#' will be parsed as literal colors, with the following supported:
red, cyan, blue, darkblue, lightblue, purple, yellow, lime, fuchsia, white, silver, grey, black, orange, brown, maroon, green, olive, navy, teal, aqua, magenta..

次の例では HTML の色を入力することができるカスタムの PropertyDrawer を作成します。このプロパティー Drawer は Color プロパティーに ColorHTMLProperty 属性がある場合、インスペクターに表示することができます。


" カスタム Property Drawer "

no example available in JavaScript
// This is not an editor script.
using UnityEngine;

public class ColorHtmlPropertyAttribute : PropertyAttribute { }
no example available in JavaScript
// This is an editor script and should be placed in an 'Editor' directory.
using UnityEngine;
using UnityEditor;

[CustomPropertyDrawer(typeof(ColorHtmlPropertyAttribute))] public class ColorHtmlPropertyDrawer : PropertyDrawer { public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { Rect htmlField = new Rect(position.x, position.y, position.width - 100, position.height); Rect colorField = new Rect(position.x + htmlField.width, position.y, position.width - htmlField.width, position.height);

string htmlValue = EditorGUI.TextField(htmlField, label, "#" + ColorUtility.ToHtmlColorStringRGBA(property.colorValue));

Color newCol; if (ColorUtility.TryParseHtmlString(htmlValue, out newCol)) property.colorValue = newCol; property.colorValue = EditorGUI.ColorField(colorField, property.colorValue); } }
no example available in JavaScript
// This shows how we would use the PropertyDrawer.
using UnityEngine;

public class Example : MonoBehaviour { [ColorHtmlProperty] public Color htmlColor = Color.green;

public Color standardColor = Color.green; }