Color
以 RGBA 格式表示的颜色。
描述
由红(r)、绿(g)、蓝(b)和 alpha(a)分量表示的 RGBA 格式的颜色。每个分量都是一个 16 位浮点值,通常介于 0.0
到 1.0
之间。某些属性(例如 CanvasItem.modulate)可能支持大于 1.0
的值,用于表示过亮或 HDR(High Dynamic Range,高动态范围)颜色。
创建颜色的方法有很多:可以使用 Color 的各种构造函数,from_hsv 等静态方法,以及使用基于 X11 颜色名称的标准化颜色集外加 TRANSPARENT。GDScript 还提供了 @GDScript.Color8,使用的是 0
到 255
之间的整数,且不支持过亮的颜色。
注意:在布尔上下文中,等于 Color(0, 0, 0, 1)
(不透明的黑色)的 Color 将被评估为 false
。否则,Color 将始终被评估为 true
。
备注
通过 C# 使用这个 API 时有显著的不同。详见 C# API 与 GDScript 的差异。
教程
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
构造函数
Color ( ) | |
方法
clamp ( Color min=Color(0, 0, 0, 0), Color max=Color(1, 1, 1, 1) ) const | |
from_hsv ( float h, float s, float v, float alpha=1.0 ) static | |
from_ok_hsl ( float h, float s, float l, float alpha=1.0 ) static | |
from_rgbe9995 ( int rgbe ) static | |
from_string ( String str, Color default ) static | |
get_luminance ( ) const | |
html_is_valid ( String color ) static | |
inverted ( ) const | |
is_equal_approx ( Color to ) const | |
linear_to_srgb ( ) const | |
srgb_to_linear ( ) const | |
to_abgr32 ( ) const | |
to_abgr64 ( ) const | |
to_argb32 ( ) const | |
to_argb64 ( ) const | |
to_rgba32 ( ) const | |
to_rgba64 ( ) const |
操作符
operator != ( Color right ) | |
operator * ( int right ) | |
operator + ( Color right ) | |
operator - ( Color right ) | |
operator / ( Color right ) | |
operator / ( float right ) | |
operator / ( int right ) | |
operator == ( Color right ) | |
operator [] ( int index ) | |
operator unary+ ( ) | |
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 ( Color from, float alpha )
从现有的颜色构造 Color,a 设置为给定的 alpha
值。
GDScriptC#
var red = Color(Color.RED, 0.2) # 20% 不透明红色。
var red = new Color(Colors.Red, 0.2f); // 20% 不透明红色。
构造给定 Color 的副本。
从 HTML 颜色代码或标准化的颜色名称中构建 Color。支持的颜色名称与常量名相同。
Color Color ( String code, float alpha )
从 HTML 颜色代码或标准化的颜色名称中构建 Color,alpha
的范围为 0.0 到 1.0。支持的颜色名称与常量名相同。
Color Color ( float r, float g, float b )
从通常介于 0.0 和 1.0 之间的 RGB 值构造一个 Color。a 被设置为 1.0。
GDScriptC#
var color = Color(0.2, 1.0, 0.7) # 类似于 `Color8(51, 255, 178, 255)`
var color = new Color(0.2f, 1.0f, 0.7f); // 类似于 `Color.Color8(51, 255, 178, 255)`
Color Color ( float r, float g, float b, float a )
从通常介于 0.0 和 1.0 之间的 RGBA 值构造一个 Color。
GDScriptC#
var color = Color(0.2, 1.0, 0.7, 0.8) # 类似于 `Color8(51, 255, 178, 204)`
var color = new Color(0.2f, 1.0f, 0.7f, 0.8f); // 类似于 `Color.Color8(51, 255, 178, 255, 204)`
方法说明
Color blend ( Color over ) const
返回将该颜色混合到给定颜色上所产生的新颜色。在绘画程序中,你可以将其想象为在该颜色(包括 alpha)上绘制的 over
颜色。
GDScriptC#
var bg = Color(0.0, 1.0, 0.0, 0.5) # 50% 不透明的绿色
var fg = Color(1.0, 0.0, 0.0, 0.5) # 50% 不透明的红色
var blended_color = bg.blend(fg) # 75% 不透明的棕色
var bg = new Color(0.0f, 1.0f, 0.0f, 0.5f); // 50% 不透明的绿色
var fg = new Color(1.0f, 0.0f, 0.0f, 0.5f); // 50% 不透明的红色
Color blendedColor = bg.Blend(fg); // 75% 不透明的棕色
Color clamp ( Color min=Color(0, 0, 0, 0), Color max=Color(1, 1, 1, 1) ) const
通过在每个分量上运行 @GlobalScope.clamp,返回一种新颜色,其中所有分量都被钳制在 min
和 max
的分量之间。
Color darkened ( float amount ) const
返回通过指定 amount
(从 0.0 到 1.0 的比率)使该颜色变暗而产生的新颜色。另见 lightened。
GDScriptC#
var green = Color(0.0, 1.0, 0.0)
var darkgreen = green.darkened(0.2) # 比普通的绿色深 20%
var green = new Color(0.0f, 1.0f, 0.0f);
Color darkgreen = green.Darkened(0.2f); // 比普通的绿色深 20%
Color from_hsv ( float h, float s, float v, float alpha=1.0 ) static
根据 HSV 配置构建颜色。色相(h
)、饱和度(s
)和值(v
)通常在 0.0 和 1.0 之间。
GDScriptC#
var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8)
var color = Color.FromHsv(0.58f, 0.5f, 0.79f, 0.8f);
Color from_ok_hsl ( float h, float s, float l, float alpha=1.0 ) static
根据 OK HSL 配置构建颜色。色相(h
)、饱和度(s
)和亮度(l
)通常在 0.0 和 1.0 之间。
GDScriptC#
var color = Color.from_ok_hsl(0.58, 0.5, 0.79, 0.8)
var color = Color.FromOkHsl(0.58f, 0.5f, 0.79f, 0.8f);
Color from_rgbe9995 ( int rgbe ) static
从 RGBE9995 格式的整数解码 Color。见 Image.FORMAT_RGBE9995。
Color from_string ( String str, Color default ) static
从给定的字符串创建 Color,该字符串可以是 HTML 颜色代码,也可以是颜色名称(不区分大小写)。如果无法从字符串中推断出颜色,则返回 default
。
float get_luminance ( ) const
将颜色的光照强度返回为一个介于 0.0 和 1.0(包含)之间的值。这在确定浅色或深色时很有用。亮度小于 0.5 的颜色通常可以认为是深色。
注意:get_luminance 依赖于线性色彩空间中的颜色,以返回准确的相对亮度值。如果颜色在 sRGB 色彩空间,请先使用 srgb_to_linear 将其转换为线性色彩空间。
返回与提供的整数 hex
相关联的 Color,使用 32 位 RGBA 格式(每通道 8 位)。
在 GDScript 和 C# 中,展示该 int 的最好方法是十六进制表示法(使用 "0x"
前缀,得到 "0xRRGGBBAA"
)。
GDScriptC#
var red = Color.hex(0xff0000ff)
var dark_cyan = Color.hex(0x008b8bff)
var my_color = Color.hex(0xbbefd2a4)
var red = new Color(0xff0000ff);
var dark_cyan = new Color(0x008b8bff);
var my_color = new Color(0xbbefd2a4);
Color hex64 ( int hex ) static
返回与提供的整数 hex
相关联的 Color,使用 64 位 RGBA 格式(每通道 8 位)。
在 GDScript 和 C# 中,展示该 int 的最好方法是十六进制表示法(使用 "0x"
前缀,得到 "0xRRRRGGGGBBBBAAAA"
)。
Color html ( String rgba ) static
从 HTML 十六进制颜色字符串 rgba
返回一个新颜色。rgba
不区分大小写,可以使用哈希符号(#
)作为前缀。
rgba
必须是有效的三位或六位十六进制颜色字符串,并且可以包含 alpha 通道值。如果 rgba
不包含 alpha 通道值,则应用 alpha 通道值 1.0。如果 rgba
无效,则返回一个空颜色。
GDScriptC#
var blue = Color.html("#0000ff") # blue 为 Color(0.0, 0.0, 1.0, 1.0)
var green = Color.html("#0F0") # green 为 Color(0.0, 1.0, 0.0, 1.0)
var col = Color.html("663399cc") # col 为 Color(0.4, 0.2, 0.6, 0.8)
var blue = Color.FromHtml("#0000ff"); // blue 为 Color(0.0, 0.0, 1.0, 1.0)
var green = Color.FromHtml("#0F0"); // green 为 Color(0.0, 1.0, 0.0, 1.0)
var col = Color.FromHtml("663399cc"); // col 为 Color(0.4, 0.2, 0.6, 0.8)
bool html_is_valid ( String color ) static
如果 color
是一个有效的 HTML 十六进制颜色字符串,则返回 true
。该字符串必须是一个由 3、4、6 或 8 位数字组成的十六进制值(不区分大小写),并且可以以井号 (#
) 作为前缀。该方法与 String.is_valid_html_color 相同。
GDScriptC#
Color.html_is_valid("#55aaFF") # 返回 true
Color.html_is_valid("#55AAFF20") # 返回 true
Color.html_is_valid("55AAFF") # 返回 true
Color.html_is_valid("#F2C") # 返回 true
Color.html_is_valid("#AABBC") # 返回 false
Color.html_is_valid("#55aaFF5") # 返回 false
Color.HtmlIsValid("#55AAFF"); // 返回 true
Color.HtmlIsValid("#55AAFF20"); // 返回 true
Color.HtmlIsValid("55AAFF"); // 返回 true
Color.HtmlIsValid("#F2C"); // 返回 true
Color.HtmlIsValid("#AABBC"); // 返回 false
Color.HtmlIsValid("#55aaFF5"); // 返回 false
Color inverted ( ) const
返回将 r、g、b 分量翻转后的颜色((1 - r, 1 - g, 1 - b, a)
)。
GDScriptC#
var black = Color.WHITE.inverted()
var color = Color(0.3, 0.4, 0.9)
var inverted_color = color.inverted() # 等价于 `Color(0.7, 0.6, 0.1)`
var black = Colors.White.Inverted();
var color = new Color(0.3f, 0.4f, 0.9f);
Color invertedColor = color.Inverted(); // 等价于 `new Color(0.7f, 0.6f, 0.1f)`
bool is_equal_approx ( Color to ) const
如果该颜色和 to
近似相等,则返回 true
,判断近似相等的方法是通过在每个分量上运行 @GlobalScope.is_equal_approx。
Color lerp ( Color to, float weight ) const
返回将该颜色的分量和 to
的分量进行线性插值的结果。插值系数 weight
应该在 0.0 和 1.0 之间(闭区间)。另请参阅 @GlobalScope.lerp。
GDScriptC#
var red = Color(1.0, 0.0, 0.0)
var aqua = Color(0.0, 1.0, 0.8)
red.lerp(aqua, 0.2) # 返回 Color(0.8, 0.2, 0.16)
red.lerp(aqua, 0.5) # 返回 Color(0.5, 0.5, 0.4)
red.lerp(aqua, 1.0) # 返回 Color(0.0, 1.0, 0.8)
var red = new Color(1.0f, 0.0f, 0.0f);
var aqua = new Color(0.0f, 1.0f, 0.8f);
red.Lerp(aqua, 0.2f); // 返回 Color(0.8f, 0.2f, 0.16f)
red.Lerp(aqua, 0.5f); // 返回 Color(0.5f, 0.5f, 0.4f)
red.Lerp(aqua, 1.0f); // 返回 Color(0.0f, 1.0f, 0.8f)
Color lightened ( float amount ) const
返回通过指定 amount
(从 0.0 到 1.0 的比率)使该颜色变亮而产生的新颜色。另见 darkened。
GDScriptC#
var green = Color(0.0, 1.0, 0.0)
var light_green = green.lightened(0.2) # 比普通的绿色要淡 20%
var green = new Color(0.0f, 1.0f, 0.0f);
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#
var color = Color(1, 0.5, 0.2)
print(color.to_abgr32()) # 输出 4281565439
var color = new Color(1.0f, 0.5f, 0.2f);
GD.Print(color.ToAbgr32()); // 输出 4281565439
int to_abgr64 ( ) const
返回转换为 ABGR 格式(每个分量为 16 位)的 64 位整数的颜色。ABGR 是默认 RGBA 格式的反转版本。
GDScriptC#
var color = Color(1, 0.5, 0.2)
print(color.to_abgr64()) # 输出 -225178692812801
var color = new Color(1.0f, 0.5f, 0.2f);
GD.Print(color.ToAbgr64()); // 输出 -225178692812801
int to_argb32 ( ) const
返回转换为 ARGB 格式(每个分量为 8 位)的 32 位整数的颜色。ARGB 与 DirectX 更兼容。
GDScriptC#
var color = Color(1, 0.5, 0.2)
print(color.to_argb32()) # 输出 4294934323
var color = new Color(1.0f, 0.5f, 0.2f);
GD.Print(color.ToArgb32()); // 输出 4294934323
int to_argb64 ( ) const
返回转换为 ARGB 格式(每个分量为 16 位)的 64 位整数的颜色。ARGB 与 DirectX 更兼容。
GDScriptC#
var color = Color(1, 0.5, 0.2)
print(color.to_argb64()) # 输出 -2147470541
var color = new Color(1.0f, 0.5f, 0.2f);
GD.Print(color.ToArgb64()); // 输出 -2147470541
String to_html ( bool with_alpha=true ) const
返回将该颜色转换为 RGBA 格式的 HTML 十六进制颜色 String,不带(#
)前缀。
将 with_alpha
设置为 false
,会从十六进制字符串中排除 alpha,使用 RGB 格式而不是 RGBA 格式。
GDScriptC#
var white = Color(1, 1, 1, 0.5)
var with_alpha = white.to_html() # 返回 "ffffff7f"
var without_alpha = white.to_html(false) # 返回 "ffffff"
var white = new Color(1, 1, 1, 0.5f);
string withAlpha = white.ToHtml(); // 返回 "ffffff7f"
string withoutAlpha = white.ToHtml(false); // 返回 "ffffff"
int to_rgba32 ( ) const
返回转换为 RGBA 格式(每个分量为 8 位)的 32 位整数的颜色。RGBA 是 Godot 的默认格式。
GDScriptC#
var color = Color(1, 0.5, 0.2)
print(color.to_rgba32()) # 输出 4286526463
var color = new Color(1, 0.5f, 0.2f);
GD.Print(color.ToRgba32()); // 输出 4286526463
int to_rgba64 ( ) const
返回转换为 RGBA 格式(每个分量为 16 位)的 64 位整数的颜色。RGBA 是 Godot 的默认格式。
GDScriptC#
var color = Color(1, 0.5, 0.2)
print(color.to_rgba64()) # 输出 -140736629309441
var color = new Color(1, 0.5f, 0.2f);
GD.Print(color.ToRgba64()); // 输出 -140736629309441
操作符说明
bool operator != ( Color right )
如果颜色不完全相等,则返回 true
。
注意:由于浮点数精度误差,请考虑改用 is_equal_approx,会更可靠。
Color operator * ( Color right )
将该 Color 的每个分量乘以给定 Color 的对应分量。
Color operator * ( float right )
将该 Color 的每个分量乘以给定的 float。
Color operator * ( int right )
将该 Color 的每个分量乘以给定的 int。
Color operator + ( Color right )
将该 Color 的每个分量加上给定 Color 的对应分量。
Color operator - ( Color right )
将该 Color 的每个分量减去给定 Color 的对应分量。
Color operator / ( Color right )
将该 Color 的每个分量除以给定 Color 的每个分量。
Color operator / ( float right )
将该 Color 的每个分量除以给定的 float。
Color operator / ( int right )
将该 Color 的每个分量除以给定的 int。
bool operator == ( Color right )
如果颜色完全相同,则返回 true
。
注意:由于浮点精度误差,请考虑改用更可靠的 is_equal_approx。
float operator [] ( int index )
使用索引访问颜色分量。[0]
相当于 r,[1]
相当于 g,[2]
相当于 b,[3]
相当于 a.
Color operator unary+ ( )
返回与 +
不存在时相同的值。单目 +
没有作用,但有时可以使你的代码更具可读性。
Color operator unary- ( )
反转给定的颜色。这相当于 Color.WHITE - c
或 Color(1 - c.r, 1 - c.g, 1 - c.b, 1 - c.a)
。与 inverted 不同,a 分量也将被反转。
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.