Color

以 RGBA 格式表示的颜色。

描述

由红(r)、绿(g)、蓝(b)和 alpha(a)分量表示的 RGBA 格式的颜色。每个分量都是一个 32 位浮点值,通常介于 0.01.0 之间。某些属性(例如 CanvasItem.modulate)可能支持大于 1.0 的值,用于表示过亮或 HDR(High Dynamic Range,高动态范围)颜色。

创建颜色的方法有很多:可以使用 Color 的各种构造函数,from_hsv 等静态方法,以及使用基于 X11 颜色名称的标准化颜色集外加 TRANSPARENT。GDScript 还提供了 @GDScript.Color8,使用的是 0255 之间的整数,且不支持过亮的颜色。

注意:在布尔上下文中,等于 Color(0, 0, 0, 1)(不透明的黑色)的 Color 将被评估为 false。否则,Color 将始终被评估为 true

Color 常量速查表

备注

通过 C# 使用该 API 时会有显著不同,详见 C# API 与 GDScript 的差异

教程

属性

float

a

1.0

int

a8

255

float

b

0.0

int

b8

0

float

g

0.0

int

g8

0

float

h

0.0

float

r

0.0

int

r8

0

float

s

0.0

float

v

0.0

构造函数

Color

Color()

Color

Color(from: Color, alpha: float)

Color

Color(from: Color)

Color

Color(code: String)

Color

Color(code: String, alpha: float)

Color

Color(r: float, g: float, b: float)

Color

Color(r: float, g: float, b: float, a: float)

方法

Color

blend(over: Color) const

Color

clamp(min: Color = Color(0, 0, 0, 0), max: Color = Color(1, 1, 1, 1)) const

Color

darkened(amount: float) const

Color

from_hsv(h: float, s: float, v: float, alpha: float = 1.0) static

Color

from_ok_hsl(h: float, s: float, l: float, alpha: float = 1.0) static

Color

from_rgbe9995(rgbe: int) static

Color

from_string(str: String, default: Color) static

float

get_luminance() const

Color

hex(hex: int) static

Color

hex64(hex: int) static

Color

html(rgba: String) static

bool

html_is_valid(color: String) static

Color

inverted() const

bool

is_equal_approx(to: Color) const

Color

lerp(to: Color, weight: float) const

Color

lightened(amount: float) const

Color

linear_to_srgb() const

Color

srgb_to_linear() const

int

to_abgr32() const

int

to_abgr64() const

int

to_argb32() const

int

to_argb64() const

String

to_html(with_alpha: bool = true) const

int

to_rgba32() const

int

to_rgba64() const

运算符

bool

operator !=(right: Color)

Color

operator (right: Color)

Color

operator (right: float)

Color

operator *(right: int)

Color

operator +(right: Color)

Color

operator -(right: Color)

Color

operator /(right: Color)

Color

operator /(right: float)

Color

operator /(right: int)

bool

operator ==(right: Color)

float

operator [](index: int)

Color

operator unary+()

Color

operator unary-()


常量

ALICE_BLUE = Color(0.941176, 0.972549, 1, 1) 🔗

爱丽丝蓝。

ANTIQUE_WHITE = Color(0.980392, 0.921569, 0.843137, 1) 🔗

古董白。

AQUA = Color(0, 1, 1, 1) 🔗

水色。

AQUAMARINE = Color(0.498039, 1, 0.831373, 1) 🔗

海蓝色。

AZURE = Color(0.941176, 1, 1, 1) 🔗

天蓝色。

BEIGE = Color(0.960784, 0.960784, 0.862745, 1) 🔗

米黄色。

BISQUE = Color(1, 0.894118, 0.768627, 1) 🔗

橘黄色。

BLACK = Color(0, 0, 0, 1) 🔗

黑色。在 GDScript 中,这是所有颜色的默认值。

BLANCHED_ALMOND = Color(1, 0.921569, 0.803922, 1) 🔗

杏仁白色。

BLUE = Color(0, 0, 1, 1) 🔗

蓝色。

BLUE_VIOLET = Color(0.541176, 0.168627, 0.886275, 1) 🔗

蓝紫色的颜色。

BROWN = Color(0.647059, 0.164706, 0.164706, 1) 🔗

棕色。

BURLYWOOD = Color(0.870588, 0.721569, 0.529412, 1) 🔗

硬木色。

CADET_BLUE = Color(0.372549, 0.619608, 0.627451, 1) 🔗

军服蓝。

CHARTREUSE = Color(0.498039, 1, 0, 1) 🔗

黄褐色。

CHOCOLATE = Color(0.823529, 0.411765, 0.117647, 1) 🔗

巧克力色。

CORAL = Color(1, 0.498039, 0.313726, 1) 🔗

珊瑚色。

CORNFLOWER_BLUE = Color(0.392157, 0.584314, 0.929412, 1) 🔗

矢车菊蓝色。

CORNSILK = Color(1, 0.972549, 0.862745, 1) 🔗

玉米须色。

CRIMSON = Color(0.862745, 0.0784314, 0.235294, 1) 🔗

绯红的颜色。

CYAN = Color(0, 1, 1, 1) 🔗

青色。

DARK_BLUE = Color(0, 0, 0.545098, 1) 🔗

深蓝色。

DARK_CYAN = Color(0, 0.545098, 0.545098, 1) 🔗

深青色。

DARK_GOLDENROD = Color(0.721569, 0.52549, 0.0431373, 1) 🔗

深色菊科植物的颜色。

DARK_GRAY = Color(0.662745, 0.662745, 0.662745, 1) 🔗

深灰色。

DARK_GREEN = Color(0, 0.392157, 0, 1) 🔗

深绿色。

DARK_KHAKI = Color(0.741176, 0.717647, 0.419608, 1) 🔗

深卡其色。

DARK_MAGENTA = Color(0.545098, 0, 0.545098, 1) 🔗

深洋红色。

DARK_OLIVE_GREEN = Color(0.333333, 0.419608, 0.184314, 1) 🔗

深橄榄绿色。

DARK_ORANGE = Color(1, 0.54902, 0, 1) 🔗

深橙色。

DARK_ORCHID = Color(0.6, 0.196078, 0.8, 1) 🔗

深色的兰花色。

DARK_RED = Color(0.545098, 0, 0, 1) 🔗

深红色。

DARK_SALMON = Color(0.913725, 0.588235, 0.478431, 1) 🔗

深鲑鱼色。

DARK_SEA_GREEN = Color(0.560784, 0.737255, 0.560784, 1) 🔗

深海绿色。

DARK_SLATE_BLUE = Color(0.282353, 0.239216, 0.545098, 1) 🔗

深板蓝的颜色。

DARK_SLATE_GRAY = Color(0.184314, 0.309804, 0.309804, 1) 🔗

暗石板灰色。

DARK_TURQUOISE = Color(0, 0.807843, 0.819608, 1) 🔗

深绿松石色。

DARK_VIOLET = Color(0.580392, 0, 0.827451, 1) 🔗

深紫罗兰色。

DEEP_PINK = Color(1, 0.0784314, 0.576471, 1) 🔗

深粉色。

DEEP_SKY_BLUE = Color(0, 0.74902, 1, 1) 🔗

深邃的天蓝色。

DIM_GRAY = Color(0.411765, 0.411765, 0.411765, 1) 🔗

暗灰色。

DODGER_BLUE = Color(0.117647, 0.564706, 1, 1) 🔗

道奇蓝色。

FIREBRICK = Color(0.698039, 0.133333, 0.133333, 1) 🔗

耐火砖红色。

FLORAL_WHITE = Color(1, 0.980392, 0.941176, 1) 🔗

花白色。

FOREST_GREEN = Color(0.133333, 0.545098, 0.133333, 1) 🔗

森林绿色。

FUCHSIA = Color(1, 0, 1, 1) 🔗

洋红色。

GAINSBORO = Color(0.862745, 0.862745, 0.862745, 1) 🔗

庚斯伯勒灰色。

GHOST_WHITE = Color(0.972549, 0.972549, 1, 1) 🔗

幽灵白颜色。

GOLD = Color(1, 0.843137, 0, 1) 🔗

金色。

GOLDENROD = Color(0.854902, 0.647059, 0.12549, 1) 🔗

金菊色。

GRAY = Color(0.745098, 0.745098, 0.745098, 1) 🔗

灰色。

GREEN = Color(0, 1, 0, 1) 🔗

绿色。

GREEN_YELLOW = Color(0.678431, 1, 0.184314, 1) 🔗

绿黄色。

HONEYDEW = Color(0.941176, 1, 0.941176, 1) 🔗

蜜露色。

HOT_PINK = Color(1, 0.411765, 0.705882, 1) 🔗

亮粉色。

INDIAN_RED = Color(0.803922, 0.360784, 0.360784, 1) 🔗

印度红色。

INDIGO = Color(0.294118, 0, 0.509804, 1) 🔗

靛青色。

IVORY = Color(1, 1, 0.941176, 1) 🔗

象牙色。

KHAKI = Color(0.941176, 0.901961, 0.54902, 1) 🔗

卡其色。

LAVENDER = Color(0.901961, 0.901961, 0.980392, 1) 🔗

薰衣草色。

LAVENDER_BLUSH = Color(1, 0.941176, 0.960784, 1) 🔗

薰衣草紫红色。

LAWN_GREEN = Color(0.486275, 0.988235, 0, 1) 🔗

草坪绿色。

LEMON_CHIFFON = Color(1, 0.980392, 0.803922, 1) 🔗

柠檬雪纺色。

LIGHT_BLUE = Color(0.678431, 0.847059, 0.901961, 1) 🔗

浅蓝色。

LIGHT_CORAL = Color(0.941176, 0.501961, 0.501961, 1) 🔗

浅珊瑚色。

LIGHT_CYAN = Color(0.878431, 1, 1, 1) 🔗

淡青色。

LIGHT_GOLDENROD = Color(0.980392, 0.980392, 0.823529, 1) 🔗

亮金菊黄色。

LIGHT_GRAY = Color(0.827451, 0.827451, 0.827451, 1) 🔗

浅灰色。

LIGHT_GREEN = Color(0.564706, 0.933333, 0.564706, 1) 🔗

浅绿色。

LIGHT_PINK = Color(1, 0.713726, 0.756863, 1) 🔗

浅粉色。

LIGHT_SALMON = Color(1, 0.627451, 0.478431, 1) 🔗

浅鲑鱼色。

LIGHT_SEA_GREEN = Color(0.12549, 0.698039, 0.666667, 1) 🔗

浅海绿色。

LIGHT_SKY_BLUE = Color(0.529412, 0.807843, 0.980392, 1) 🔗

浅天蓝色。

LIGHT_SLATE_GRAY = Color(0.466667, 0.533333, 0.6, 1) 🔗

浅板岩灰色。

LIGHT_STEEL_BLUE = Color(0.690196, 0.768627, 0.870588, 1) 🔗

浅钢蓝色。

LIGHT_YELLOW = Color(1, 1, 0.878431, 1) 🔗

浅黄色。

LIME = Color(0, 1, 0, 1) 🔗

青柠色。

LIME_GREEN = Color(0.196078, 0.803922, 0.196078, 1) 🔗

石灰绿色。

LINEN = Color(0.980392, 0.941176, 0.901961, 1) 🔗

亚麻色。

MAGENTA = Color(1, 0, 1, 1) 🔗

洋红色。

MAROON = Color(0.690196, 0.188235, 0.376471, 1) 🔗

栗色。

MEDIUM_AQUAMARINE = Color(0.4, 0.803922, 0.666667, 1) 🔗

中等海蓝宝石色。

MEDIUM_BLUE = Color(0, 0, 0.803922, 1) 🔗

中蓝色。

MEDIUM_ORCHID = Color(0.729412, 0.333333, 0.827451, 1) 🔗

中等兰色。

MEDIUM_PURPLE = Color(0.576471, 0.439216, 0.858824, 1) 🔗

中等紫色。

MEDIUM_SEA_GREEN = Color(0.235294, 0.701961, 0.443137, 1) 🔗

中海绿色。

MEDIUM_SLATE_BLUE = Color(0.482353, 0.407843, 0.933333, 1) 🔗

中等板岩蓝色。

MEDIUM_SPRING_GREEN = Color(0, 0.980392, 0.603922, 1) 🔗

中等春天绿色。

MEDIUM_TURQUOISE = Color(0.282353, 0.819608, 0.8, 1) 🔗

中等绿松石色。

MEDIUM_VIOLET_RED = Color(0.780392, 0.0823529, 0.521569, 1) 🔗

中等紫红色。

MIDNIGHT_BLUE = Color(0.0980392, 0.0980392, 0.439216, 1) 🔗

午夜蓝色。

MINT_CREAM = Color(0.960784, 1, 0.980392, 1) 🔗

薄荷奶油色。

MISTY_ROSE = Color(1, 0.894118, 0.882353, 1) 🔗

朦胧的玫瑰色。

MOCCASIN = Color(1, 0.894118, 0.709804, 1) 🔗

鹿皮鞋颜色。

NAVAJO_WHITE = Color(1, 0.870588, 0.678431, 1) 🔗

纳瓦白。

NAVY_BLUE = Color(0, 0, 0.501961, 1) 🔗

藏青色。

OLD_LACE = Color(0.992157, 0.960784, 0.901961, 1) 🔗

旧蕾丝色。

OLIVE = Color(0.501961, 0.501961, 0, 1) 🔗

橄榄色。

OLIVE_DRAB = Color(0.419608, 0.556863, 0.137255, 1) 🔗

暗淡橄榄色。

ORANGE = Color(1, 0.647059, 0, 1) 🔗

橙色。

ORANGE_RED = Color(1, 0.270588, 0, 1) 🔗

橘红色。

ORCHID = Color(0.854902, 0.439216, 0.839216, 1) 🔗

兰花色。

PALE_GOLDENROD = Color(0.933333, 0.909804, 0.666667, 1) 🔗

淡金色。

PALE_GREEN = Color(0.596078, 0.984314, 0.596078, 1) 🔗

淡绿色。

PALE_TURQUOISE = Color(0.686275, 0.933333, 0.933333, 1) 🔗

淡绿松石色。

PALE_VIOLET_RED = Color(0.858824, 0.439216, 0.576471, 1) 🔗

淡紫红色。

PAPAYA_WHIP = Color(1, 0.937255, 0.835294, 1) 🔗

木瓜鞭色。

PEACH_PUFF = Color(1, 0.854902, 0.72549, 1) 🔗

桃花粉。

PERU = Color(0.803922, 0.521569, 0.247059, 1) 🔗

秘鲁色。

PINK = Color(1, 0.752941, 0.796078, 1) 🔗

粉红色。

PLUM = Color(0.866667, 0.627451, 0.866667, 1) 🔗

梅花色。

POWDER_BLUE = Color(0.690196, 0.878431, 0.901961, 1) 🔗

浅蓝色。

PURPLE = Color(0.627451, 0.12549, 0.941176, 1) 🔗

紫色。

REBECCA_PURPLE = Color(0.4, 0.2, 0.6, 1) 🔗

丽贝卡紫色。

RED = Color(1, 0, 0, 1) 🔗

红色。

ROSY_BROWN = Color(0.737255, 0.560784, 0.560784, 1) 🔗

玫瑰棕。

ROYAL_BLUE = Color(0.254902, 0.411765, 0.882353, 1) 🔗

宝蓝色。

SADDLE_BROWN = Color(0.545098, 0.270588, 0.0745098, 1) 🔗

鞍棕色。

SALMON = Color(0.980392, 0.501961, 0.447059, 1) 🔗

鲑鱼色。

SANDY_BROWN = Color(0.956863, 0.643137, 0.376471, 1) 🔗

沙褐色。

SEA_GREEN = Color(0.180392, 0.545098, 0.341176, 1) 🔗

海绿色。

SEASHELL = Color(1, 0.960784, 0.933333, 1) 🔗

贝壳色。

SIENNA = Color(0.627451, 0.321569, 0.176471, 1) 🔗

西恩娜色。

SILVER = Color(0.752941, 0.752941, 0.752941, 1) 🔗

银色。

SKY_BLUE = Color(0.529412, 0.807843, 0.921569, 1) 🔗

天蓝色。

SLATE_BLUE = Color(0.415686, 0.352941, 0.803922, 1) 🔗

石板蓝色。

SLATE_GRAY = Color(0.439216, 0.501961, 0.564706, 1) 🔗

石板灰。

SNOW = Color(1, 0.980392, 0.980392, 1) 🔗

雪白。

SPRING_GREEN = Color(0, 1, 0.498039, 1) 🔗

春绿。

STEEL_BLUE = Color(0.27451, 0.509804, 0.705882, 1) 🔗

钢蓝色。

TAN = Color(0.823529, 0.705882, 0.54902, 1) 🔗

棕褐色。

TEAL = Color(0, 0.501961, 0.501961, 1) 🔗

青色。

THISTLE = Color(0.847059, 0.74902, 0.847059, 1) 🔗

蓟色。

TOMATO = Color(1, 0.388235, 0.278431, 1) 🔗

番茄色。

TRANSPARENT = Color(1, 1, 1, 0) 🔗

透明色(Alpha 为零的白色)。

TURQUOISE = Color(0.25098, 0.878431, 0.815686, 1) 🔗

松石绿。

VIOLET = Color(0.933333, 0.509804, 0.933333, 1) 🔗

紫罗兰色。

WEB_GRAY = Color(0.501961, 0.501961, 0.501961, 1) 🔗

网格灰。

WEB_GREEN = Color(0, 0.501961, 0, 1) 🔗

网络绿。

WEB_MAROON = Color(0.501961, 0, 0, 1) 🔗

网络栗。

WEB_PURPLE = Color(0.501961, 0, 0.501961, 1) 🔗

网络紫。

WHEAT = Color(0.960784, 0.870588, 0.701961, 1) 🔗

小麦色。

WHITE = Color(1, 1, 1, 1) 🔗

白色。

WHITE_SMOKE = Color(0.960784, 0.960784, 0.960784, 1) 🔗

白烟色。

YELLOW = Color(1, 1, 0, 1) 🔗

黄色。

YELLOW_GREEN = Color(0.603922, 0.803922, 0.196078, 1) 🔗

黄绿色。


属性说明

float a = 1.0 🔗

颜色的 Alpha 分量,一般在 0 到 1 的范围内。0 表示该颜色完全透明。1 表示该颜色完全不透明。


int a8 = 255 🔗

a 的封装,使用 0 到 255 的范围而不是 0 到 1。


float b = 0.0 🔗

颜色的蓝色分量,一般在 0 到 1 的范围内。


int b8 = 0 🔗

b 的封装,使用 0 到 255 的范围而不是 0 到 1。


float g = 0.0 🔗

颜色的绿色分量,一般在 0 到 1 的范围内。


int g8 = 0 🔗

g 的封装,使用 0 到 255 的范围而不是 0 到 1。


float h = 0.0 🔗

这个颜色的 HSV 色相,范围是 0 到 1。


float r = 0.0 🔗

颜色的红色分量,通常在 0 到 1 的范围内。


int r8 = 0 🔗

r 的封装,使用 0 到 255 的范围而不是 0 到 1。


float s = 0.0 🔗

这个颜色的 HSV 饱和度,范围为 0 到 1。


float v = 0.0 🔗

这个颜色的 HSV 值(亮度),范围为 0 至 1。


构造函数说明

Color Color() 🔗

用不透明的黑色构造默认的 Color,与 BLACK 相同。

注意:在 C# 中构造的空颜色,其所有分量都为 0.0(透明黑)。


Color Color(from: Color, alpha: float)

从现有的颜色构造 Colora 设置为给定的 alpha 值。

GDScriptC#

  1. var red = Color(Color.RED, 0.2) # 20% 不透明红色。
  1. var red = new Color(Colors.Red, 0.2f); // 20% 不透明红色。

Color Color(from: Color)

构造给定 Color 的副本。


Color Color(code: String)

从 HTML 颜色代码或标准化的颜色名称中构建 Color。支持的颜色名称与常量名相同。


Color Color(code: String, alpha: float)

从 HTML 颜色代码或标准化的颜色名称中构建 Coloralpha 的范围为 0.0 到 1.0。支持的颜色名称与常量名相同。


Color Color(r: float, g: float, b: float)

从通常介于 0.0 和 1.0 之间的 RGB 值构造一个 Colora 被设置为 1.0。

GDScriptC#

  1. var color = Color(0.2, 1.0, 0.7) # 类似于 `Color8(51, 255, 178, 255)`
  1. var color = new Color(0.2f, 1.0f, 0.7f); // 类似于 `Color.Color8(51, 255, 178, 255)`

Color Color(r: float, g: float, b: float, a: float)

从通常介于 0.0 和 1.0 之间的 RGBA 值构造一个 Color

GDScriptC#

  1. var color = Color(0.2, 1.0, 0.7, 0.8) # 类似于 `Color8(51, 255, 178, 204)`
  1. var color = new Color(0.2f, 1.0f, 0.7f, 0.8f); // 类似于 `Color.Color8(51, 255, 178, 255, 204)`

方法说明

Color blend(over: Color) const 🔗

返回将该颜色混合到给定颜色上所产生的新颜色。在绘画程序中,你可以将其想象为在该颜色(包括 alpha)上绘制的 over 颜色。

GDScriptC#

  1. var bg = Color(0.0, 1.0, 0.0, 0.5) # 50% 不透明的绿色
  2. var fg = Color(1.0, 0.0, 0.0, 0.5) # 50% 不透明的红色
  3. var blended_color = bg.blend(fg) # 75% 不透明的棕色
  1. var bg = new Color(0.0f, 1.0f, 0.0f, 0.5f); // 50% 不透明的绿色
  2. var fg = new Color(1.0f, 0.0f, 0.0f, 0.5f); // 50% 不透明的红色
  3. Color blendedColor = bg.Blend(fg); // 75% 不透明的棕色

Color clamp(min: Color = Color(0, 0, 0, 0), max: Color = Color(1, 1, 1, 1)) const 🔗

通过在每个分量上运行 @GlobalScope.clamp,返回一种新颜色,其中所有分量都被钳制在 minmax 的分量之间。


Color darkened(amount: float) const 🔗

返回通过指定 amount(从 0.0 到 1.0 的比率)使该颜色变暗而产生的新颜色。另见 lightened

GDScriptC#

  1. var green = Color(0.0, 1.0, 0.0)
  2. var darkgreen = green.darkened(0.2) # 比普通的绿色深 20%
  1. var green = new Color(0.0f, 1.0f, 0.0f);
  2. Color darkgreen = green.Darkened(0.2f); // 比普通的绿色深 20%

Color from_hsv(h: float, s: float, v: float, alpha: float = 1.0) static 🔗

根据 HSV 配置构建颜色。色相(h)、饱和度(s)和值(v)通常在 0.0 和 1.0 之间。

GDScriptC#

  1. var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8)
  1. var color = Color.FromHsv(0.58f, 0.5f, 0.79f, 0.8f);

Color from_ok_hsl(h: float, s: float, l: float, alpha: float = 1.0) static 🔗

根据 OK HSL 配置构建颜色。色相(h)、饱和度(s)和亮度(l)通常在 0.0 和 1.0 之间。

GDScriptC#

  1. var color = Color.from_ok_hsl(0.58, 0.5, 0.79, 0.8)
  1. var color = Color.FromOkHsl(0.58f, 0.5f, 0.79f, 0.8f);

Color from_rgbe9995(rgbe: int) static 🔗

从 RGBE9995 格式的整数解码 Color。见 Image.FORMAT_RGBE9995


Color from_string(str: String, default: Color) static 🔗

从给定的字符串创建 Color,该字符串可以是 HTML 颜色代码,也可以是颜色名称(不区分大小写)。如果无法从字符串中推断出颜色,则返回 default


float get_luminance() const 🔗

将颜色的光照强度返回为一个介于 0.0 和 1.0(包含)之间的值。这在确定浅色或深色时很有用。亮度小于 0.5 的颜色通常可以认为是深色。

注意:get_luminance 依赖于线性色彩空间中的颜色,以返回准确的相对亮度值。如果颜色在 sRGB 色彩空间,请先使用 srgb_to_linear 将其转换为线性色彩空间。


Color hex(hex: int) static 🔗

Returns the Color associated with the provided hex integer in 32-bit RGBA format (8 bits per channel). This method is the inverse of to_rgba32.

In GDScript and C#, the int is best visualized with hexadecimal notation ("0x" prefix, making it "0xRRGGBBAA").

GDScriptC#

  1. var red = Color.hex(0xff0000ff)
  2. var dark_cyan = Color.hex(0x008b8bff)
  3. var my_color = Color.hex(0xbbefd2a4)
  1. var red = new Color(0xff0000ff);
  2. var dark_cyan = new Color(0x008b8bff);
  3. var my_color = new Color(0xbbefd2a4);

Color hex64(hex: int) static 🔗

Returns the Color associated with the provided hex integer in 64-bit RGBA format (16 bits per channel). This method is the inverse of to_rgba64.

In GDScript and C#, the int is best visualized with hexadecimal notation ("0x" prefix, making it "0xRRRRGGGGBBBBAAAA").


Color html(rgba: String) static 🔗

从 HTML 十六进制颜色字符串 rgba 返回一个新颜色。rgba 不区分大小写,可以使用哈希符号(#)作为前缀。

rgba 必须是有效的三位或六位十六进制颜色字符串,并且可以包含 alpha 通道值。如果 rgba 不包含 alpha 通道值,则应用 alpha 通道值 1.0。如果 rgba 无效,则返回一个空颜色。

GDScriptC#

  1. var blue = Color.html("#0000ff") # blue 为 Color(0.0, 0.0, 1.0, 1.0)
  2. var green = Color.html("#0F0") # green 为 Color(0.0, 1.0, 0.0, 1.0)
  3. var col = Color.html("663399cc") # col 为 Color(0.4, 0.2, 0.6, 0.8)
  1. var blue = Color.FromHtml("#0000ff"); // blue 为 Color(0.0, 0.0, 1.0, 1.0)
  2. var green = Color.FromHtml("#0F0"); // green 为 Color(0.0, 1.0, 0.0, 1.0)
  3. var col = Color.FromHtml("663399cc"); // col 为 Color(0.4, 0.2, 0.6, 0.8)

bool html_is_valid(color: String) static 🔗

如果 color 是一个有效的 HTML 十六进制颜色字符串,则返回 true。该字符串必须是一个由 3、4、6 或 8 位数字组成的十六进制值(不区分大小写),并且可以以井号 (#) 作为前缀。该方法与 String.is_valid_html_color 相同。

GDScriptC#

  1. Color.html_is_valid("#55aaFF") # 返回 true
  2. Color.html_is_valid("#55AAFF20") # 返回 true
  3. Color.html_is_valid("55AAFF") # 返回 true
  4. Color.html_is_valid("#F2C") # 返回 true
  5. Color.html_is_valid("#AABBC") # 返回 false
  6. Color.html_is_valid("#55aaFF5") # 返回 false
  1. Color.HtmlIsValid("#55AAFF"); // 返回 true
  2. Color.HtmlIsValid("#55AAFF20"); // 返回 true
  3. Color.HtmlIsValid("55AAFF"); // 返回 true
  4. Color.HtmlIsValid("#F2C"); // 返回 true
  5. Color.HtmlIsValid("#AABBC"); // 返回 false
  6. Color.HtmlIsValid("#55aaFF5"); // 返回 false

Color inverted() const 🔗

返回将 rgb 分量翻转后的颜色((1 - r, 1 - g, 1 - b, a))。

GDScriptC#

  1. var black = Color.WHITE.inverted()
  2. var color = Color(0.3, 0.4, 0.9)
  3. var inverted_color = color.inverted() # 等价于 `Color(0.7, 0.6, 0.1)`
  1. var black = Colors.White.Inverted();
  2. var color = new Color(0.3f, 0.4f, 0.9f);
  3. Color invertedColor = color.Inverted(); // 等价于 `new Color(0.7f, 0.6f, 0.1f)`

bool is_equal_approx(to: Color) const 🔗

如果该颜色和 to 近似相等,则返回 true,判断近似相等的方法是通过在每个分量上运行 @GlobalScope.is_equal_approx


Color lerp(to: Color, weight: float) const 🔗

返回将该颜色的分量和 to 的分量进行线性插值的结果。插值系数 weight 应该在 0.0 和 1.0 之间(闭区间)。另请参阅 @GlobalScope.lerp

GDScriptC#

  1. var red = Color(1.0, 0.0, 0.0)
  2. var aqua = Color(0.0, 1.0, 0.8)
  3. red.lerp(aqua, 0.2) # 返回 Color(0.8, 0.2, 0.16)
  4. red.lerp(aqua, 0.5) # 返回 Color(0.5, 0.5, 0.4)
  5. red.lerp(aqua, 1.0) # 返回 Color(0.0, 1.0, 0.8)
  1. var red = new Color(1.0f, 0.0f, 0.0f);
  2. var aqua = new Color(0.0f, 1.0f, 0.8f);
  3. red.Lerp(aqua, 0.2f); // 返回 Color(0.8f, 0.2f, 0.16f)
  4. red.Lerp(aqua, 0.5f); // 返回 Color(0.5f, 0.5f, 0.4f)
  5. red.Lerp(aqua, 1.0f); // 返回 Color(0.0f, 1.0f, 0.8f)

Color lightened(amount: float) const 🔗

返回通过指定 amount(从 0.0 到 1.0 的比率)使该颜色变亮而产生的新颜色。另见 darkened

GDScriptC#

  1. var green = Color(0.0, 1.0, 0.0)
  2. var light_green = green.lightened(0.2) # 比普通的绿色要淡 20%
  1. var green = new Color(0.0f, 1.0f, 0.0f);
  2. Color lightGreen = green.Lightened(0.2f); // 比普通的绿色要淡 20%

Color linear_to_srgb() const 🔗

返回转换到 sRGB 色彩空间的颜色。该方法假定原始颜色位于线性色彩空间中。另请参阅执行相反操作的 srgb_to_linear


Color srgb_to_linear() const 🔗

返回转换到线性色彩空间的颜色。该方法假定原始颜色已经在 sRGB 色彩空间中。另请参见执行相反操作的 linear_to_srgb


int to_abgr32() const 🔗

返回转换为 ABGR 格式(每个分量为 8 位)的 32 位整数的颜色。ABGR 是默认 RGBA 格式的反转版本。

GDScriptC#

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_abgr32()) # 输出 4281565439
  1. var color = new Color(1.0f, 0.5f, 0.2f);
  2. GD.Print(color.ToAbgr32()); // 输出 4281565439

int to_abgr64() const 🔗

返回转换为 ABGR 格式(每个分量为 16 位)的 64 位整数的颜色。ABGR 是默认 RGBA 格式的反转版本。

GDScriptC#

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_abgr64()) # 输出 -225178692812801
  1. var color = new Color(1.0f, 0.5f, 0.2f);
  2. GD.Print(color.ToAbgr64()); // 输出 -225178692812801

int to_argb32() const 🔗

返回转换为 ARGB 格式(每个分量为 8 位)的 32 位整数的颜色。ARGB 与 DirectX 更兼容。

GDScriptC#

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_argb32()) # 输出 4294934323
  1. var color = new Color(1.0f, 0.5f, 0.2f);
  2. GD.Print(color.ToArgb32()); // 输出 4294934323

int to_argb64() const 🔗

返回转换为 ARGB 格式(每个分量为 16 位)的 64 位整数的颜色。ARGB 与 DirectX 更兼容。

GDScriptC#

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_argb64()) # 输出 -2147470541
  1. var color = new Color(1.0f, 0.5f, 0.2f);
  2. GD.Print(color.ToArgb64()); // 输出 -2147470541

String to_html(with_alpha: bool = true) const 🔗

返回将该颜色转换为 RGBA 格式的 HTML 十六进制颜色 String,不带(#)前缀。

with_alpha 设置为 false,会从十六进制字符串中排除 alpha,使用 RGB 格式而不是 RGBA 格式。

GDScriptC#

  1. var white = Color(1, 1, 1, 0.5)
  2. var with_alpha = white.to_html() # 返回 "ffffff7f"
  3. var without_alpha = white.to_html(false) # 返回 "ffffff"
  1. var white = new Color(1, 1, 1, 0.5f);
  2. string withAlpha = white.ToHtml(); // 返回 "ffffff7f"
  3. string withoutAlpha = white.ToHtml(false); // 返回 "ffffff"

int to_rgba32() const 🔗

Returns the color converted to a 32-bit integer in RGBA format (each component is 8 bits). RGBA is Godot’s default format. This method is the inverse of hex.

GDScriptC#

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_rgba32()) # Prints 4286526463
  1. var color = new Color(1, 0.5f, 0.2f);
  2. GD.Print(color.ToRgba32()); // Prints 4286526463

int to_rgba64() const 🔗

Returns the color converted to a 64-bit integer in RGBA format (each component is 16 bits). RGBA is Godot’s default format. This method is the inverse of hex64.

GDScriptC#

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_rgba64()) # Prints -140736629309441
  1. var color = new Color(1, 0.5f, 0.2f);
  2. GD.Print(color.ToRgba64()); // Prints -140736629309441

运算符说明

bool operator !=(right: Color) 🔗

如果颜色不完全相等,则返回 true

注意:由于浮点数精度误差,请考虑改用 is_equal_approx,会更可靠。


Color operator *(right: Color) 🔗

将该 Color 的每个分量乘以给定 Color 的对应分量。


Color operator *(right: float) 🔗

将该 Color 的每个分量乘以给定的 float


Color operator *(right: int) 🔗

将该 Color 的每个分量乘以给定的 int


Color operator +(right: Color) 🔗

将该 Color 的每个分量加上给定 Color 的对应分量。


Color operator -(right: Color) 🔗

将该 Color 的每个分量减去给定 Color 的对应分量。


Color operator /(right: Color) 🔗

将该 Color 的每个分量除以给定 Color 的每个分量。


Color operator /(right: float) 🔗

将该 Color 的每个分量除以给定的 float


Color operator /(right: int) 🔗

将该 Color 的每个分量除以给定的 int


bool operator ==(right: Color) 🔗

如果颜色完全相同,则返回 true

注意:由于浮点精度误差,请考虑改用更可靠的 is_equal_approx


float operator [](index: int) 🔗

使用索引访问颜色分量。[0] 相当于 r[1] 相当于 g[2] 相当于 b[3] 相当于 a.


Color operator unary+() 🔗

返回与 + 不存在时相同的值。单目 + 没有作用,但有时可以使你的代码更具可读性。


Color operator unary-() 🔗

反转给定的颜色。这相当于 Color.WHITE - cColor(1 - c.r, 1 - c.g, 1 - c.b, 1 - c.a)。与 inverted 不同,a 分量也将被反转。