Color

RGBA格式的颜色使用0到1范围内的浮点数。

描述

由红、绿、蓝、阿尔法(RGBA)分量表示的一种颜色。alpha 分量通常用于透明度。一些属性(如 CanvasItem.modulate)可以接受大于 1 的值(过亮或 HDR 颜色)。

您也可以通过使用 @GDScript.ColorN 或直接使用这里定义的颜色常量,从标准化颜色名称中创建颜色。标准化颜色集是基于 X11 color names 的。

如果你想提供 0 到 255 范围内的值,你应该使用 @GDScript.Color8

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

Color 常量速查表

教程

属性

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 ( String from )

Color

Color ( int from )

Color

Color ( float r, float g, float b )

Color

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

Color

blend ( Color over )

Color

contrasted ( )

Color

darkened ( float amount )

Color

from_hsv ( float h, float s, float v, float a=1.0 )

float

get_luminance ( )

float

gray ( )

Color

inverted ( )

bool

is_equal_approx ( Color color )

Color

lightened ( float amount )

Color

linear_interpolate ( Color to, float weight )

int

to_abgr32 ( )

int

to_abgr64 ( )

int

to_argb32 ( )

int

to_argb64 ( )

String

to_html ( bool with_alpha=true )

int

to_rgba32 ( )

int

to_rgba64 ( )

常量

  • aliceblue = Color( 0.94, 0.97, 1, 1 ) —- 爱丽丝蓝。

  • antiquewhite = Color( 0.98, 0.92, 0.84, 1 ) —- 古色古香的白色。

  • aqua = Color( 0, 1, 1, 1 ) —- 水色.

  • aquamarine = Color( 0.5, 1, 0.83, 1 ) —- 海蓝色.

  • azure = Color( 0.94, 1, 1, 1 ) —- 天蓝色.

  • beige = Color( 0.96, 0.96, 0.86, 1 ) —- 米黄色.

  • bisque = Color( 1, 0.89, 0.77, 1 ) —- 橘黄色.

  • black = Color( 0, 0, 0, 1 ) —- 黑色.

  • blanchedalmond = Color( 1, 0.92, 0.8, 1 ) —- 布兰奇杏仁色。

  • blue = Color( 0, 0, 1, 1 ) —- 蓝色.

  • blueviolet = Color( 0.54, 0.17, 0.89, 1 ) —- 蓝紫色的颜色。

  • brown = Color( 0.65, 0.16, 0.16, 1 ) —- 棕色.

  • burlywood = Color( 0.87, 0.72, 0.53, 1 ) —- 癭木色。

  • cadetblue = Color( 0.37, 0.62, 0.63, 1 ) —- 军校学生的蓝色。

  • chartreuse = Color( 0.5, 1, 0, 1 ) —- 黄褐色.

  • chocolate = Color( 0.82, 0.41, 0.12, 1 ) —- 巧克力色.

  • coral = Color( 1, 0.5, 0.31, 1 ) —- 珊瑚色.

  • cornflower = Color( 0.39, 0.58, 0.93, 1 ) —- 矢车菊花色。

  • cornsilk = Color( 1, 0.97, 0.86, 1 ) —- 玉米丝色。

  • crimson = Color( 0.86, 0.08, 0.24, 1 ) —- 绯红的颜色。

  • cyan = Color( 0, 1, 1, 1 ) —- 青色。

  • darkblue = Color( 0, 0, 0.55, 1 ) —- 深蓝色。

  • darkcyan = Color( 0, 0.55, 0.55, 1 ) —- 深青色。

  • darkgoldenrod = Color( 0.72, 0.53, 0.04, 1 ) —- 深色菊科植物的颜色。

  • darkgray = Color( 0.66, 0.66, 0.66, 1 ) —- 深灰色。

  • darkgreen = Color( 0, 0.39, 0, 1 ) —- 深绿色。

  • darkkhaki = Color( 0.74, 0.72, 0.42, 1 ) —- 深卡其色。

  • darkmagenta = Color( 0.55, 0, 0.55, 1 ) —- 深洋红色。

  • darkolivegreen = Color( 0.33, 0.42, 0.18, 1 ) —- 深橄榄绿色。

  • darkorange = Color( 1, 0.55, 0, 1 ) —- 深橙色。

  • darkorchid = Color( 0.6, 0.2, 0.8, 1 ) —- 深色的兰花色。

  • darkred = Color( 0.55, 0, 0, 1 ) —- 深红色。

  • darksalmon = Color( 0.91, 0.59, 0.48, 1 ) —- 深鲑鱼色。

  • darkseagreen = Color( 0.56, 0.74, 0.56, 1 ) —- 深海绿色。

  • darkslateblue = Color( 0.28, 0.24, 0.55, 1 ) —- 深板蓝的颜色。

  • darkslategray = Color( 0.18, 0.31, 0.31, 1 ) —- 暗石板灰色。

  • darkturquoise = Color( 0, 0.81, 0.82, 1 ) —- 深绿松石色。

  • darkviolet = Color( 0.58, 0, 0.83, 1 ) —- 深紫罗兰色。

  • deeppink = Color( 1, 0.08, 0.58, 1 ) —- 深粉色。

  • deepskyblue = Color( 0, 0.75, 1, 1 ) —- 深邃的天蓝色。

  • dimgray = Color( 0.41, 0.41, 0.41, 1 ) —- 暗灰色。

  • dodgerblue = Color( 0.12, 0.56, 1, 1 ) —- 道奇蓝色。

  • firebrick = Color( 0.7, 0.13, 0.13, 1 ) —- 火砖的颜色。

  • floralwhite = Color( 1, 0.98, 0.94, 1 ) —- 花白色。

  • forestgreen = Color( 0.13, 0.55, 0.13, 1 ) —- 森林绿色。

  • fuchsia = Color( 1, 0, 1, 1 ) —- 紫红色的颜色。

  • gainsboro = Color( 0.86, 0.86, 0.86, 1 ) —- 庚斯伯勒颜色。

  • ghostwhite = Color( 0.97, 0.97, 1, 1 ) —- 幽灵白颜色。

  • gold = Color( 1, 0.84, 0, 1 ) —- 金色。

  • goldenrod = Color( 0.85, 0.65, 0.13, 1 ) —- 金黄的颜色。

  • gray = Color( 0.75, 0.75, 0.75, 1 ) —- 灰色。

  • green = Color( 0, 1, 0, 1 ) —- 绿色。

  • greenyellow = Color( 0.68, 1, 0.18, 1 ) —- 绿黄色。

  • honeydew = Color( 0.94, 1, 0.94, 1 ) —- 蜜露色。

  • hotpink = Color( 1, 0.41, 0.71, 1 ) —- 炙热的粉红色。

  • indianred = Color( 0.8, 0.36, 0.36, 1 ) —- 印度红色。

  • indigo = Color( 0.29, 0, 0.51, 1 ) —- 靛青色。

  • ivory = Color( 1, 1, 0.94, 1 ) —- 象牙色。

  • khaki = Color( 0.94, 0.9, 0.55, 1 ) —- 卡其色。

  • lavender = Color( 0.9, 0.9, 0.98, 1 ) —- 薰衣草色。

  • lavenderblush = Color( 1, 0.94, 0.96, 1 ) —- 薰衣草腮红的颜色。

  • lawngreen = Color( 0.49, 0.99, 0, 1 ) —- 草坪绿色。

  • lemonchiffon = Color( 1, 0.98, 0.8, 1 ) —- 柠檬雪纺色。

  • lightblue = Color( 0.68, 0.85, 0.9, 1 ) —- 浅蓝色。

  • lightcoral = Color( 0.94, 0.5, 0.5, 1 ) —- 浅珊瑚色。

  • lightcyan = Color( 0.88, 1, 1, 1 ) —- 淡青色。

  • lightgoldenrod = Color( 0.98, 0.98, 0.82, 1 ) —- 淡淡的金黄色。

  • lightgray = Color( 0.83, 0.83, 0.83, 1 ) —- 浅灰色。

  • lightgreen = Color( 0.56, 0.93, 0.56, 1 ) —- 浅绿色。

  • lightpink = Color( 1, 0.71, 0.76, 1 ) —- 浅粉色。

  • lightsalmon = Color( 1, 0.63, 0.48, 1 ) —- 浅鲑鱼色。

  • lightseagreen = Color( 0.13, 0.7, 0.67, 1 ) —- 浅海绿色。

  • lightskyblue = Color( 0.53, 0.81, 0.98, 1 ) —- 浅天蓝色。

  • lightslategray = Color( 0.47, 0.53, 0.6, 1 ) —- 浅板岩灰色。

  • lightsteelblue = Color( 0.69, 0.77, 0.87, 1 ) —- 浅钢蓝色。

  • lightyellow = Color( 1, 1, 0.88, 1 ) —- 浅黄色。

  • lime = Color( 0, 1, 0, 1 ) —- 青柠色。

  • limegreen = Color( 0.2, 0.8, 0.2, 1 ) —- 石灰绿色。

  • linen = Color( 0.98, 0.94, 0.9, 1 ) —- 亚麻色。

  • magenta = Color( 1, 0, 1, 1 ) —- 洋红色。

  • maroon = Color( 0.69, 0.19, 0.38, 1 ) —- 栗色。

  • mediumaquamarine = Color( 0.4, 0.8, 0.67, 1 ) —- 中等海蓝宝石色。

  • mediumblue = Color( 0, 0, 0.8, 1 ) —- 中蓝色。

  • mediumorchid = Color( 0.73, 0.33, 0.83, 1 ) —- 中等兰色。

  • mediumpurple = Color( 0.58, 0.44, 0.86, 1 ) —- 中等紫色。

  • mediumseagreen = Color( 0.24, 0.7, 0.44, 1 ) —- 中海绿色。

  • mediumslateblue = Color( 0.48, 0.41, 0.93, 1 ) —- 中等板岩蓝色。

  • mediumspringgreen = Color( 0, 0.98, 0.6, 1 ) —- 中等春天绿色。

  • mediumturquoise = Color( 0.28, 0.82, 0.8, 1 ) —- 中等绿松石色。

  • mediumvioletred = Color( 0.78, 0.08, 0.52, 1 ) —- 中等紫红色。

  • midnightblue = Color( 0.1, 0.1, 0.44, 1 ) —- 午夜蓝色。

  • mintcream = Color( 0.96, 1, 0.98, 1 ) —- 薄荷奶油色。

  • mistyrose = Color( 1, 0.89, 0.88, 1 ) —- 朦胧的玫瑰色。

  • moccasin = Color( 1, 0.89, 0.71, 1 ) —- 鹿皮鞋颜色。

  • navajowhite = Color( 1, 0.87, 0.68, 1 ) —- 那瓦伙族人白。

  • navyblue = Color( 0, 0, 0.5, 1 ) —- 藏青色。

  • oldlace = Color( 0.99, 0.96, 0.9, 1 ) —- 旧蕾丝颜色。

  • olive = Color( 0.5, 0.5, 0, 1 ) —- 橄榄色。

  • olivedrab = Color( 0.42, 0.56, 0.14, 1 ) —- 暗淡橄榄色。

  • orange = Color( 1, 0.65, 0, 1 ) —- 橙色。

  • orangered = Color( 1, 0.27, 0, 1 ) —- 橘红色。

  • orchid = Color( 0.85, 0.44, 0.84, 1 ) —- 兰花色。

  • palegoldenrod = Color( 0.93, 0.91, 0.67, 1 ) —- 淡金色。

  • palegreen = Color( 0.6, 0.98, 0.6, 1 ) —- 淡绿色。

  • paleturquoise = Color( 0.69, 0.93, 0.93, 1 ) —- 淡绿松石色。

  • palevioletred = Color( 0.86, 0.44, 0.58, 1 ) —- 淡紫红色。

  • papayawhip = Color( 1, 0.94, 0.84, 1 ) —- 木瓜鞭色。

  • peachpuff = Color( 1, 0.85, 0.73, 1 ) —- 桃花粉。

  • peru = Color( 0.8, 0.52, 0.25, 1 ) —- 秘鲁色。

  • pink = Color( 1, 0.75, 0.8, 1 ) —- 粉红色。

  • plum = Color( 0.87, 0.63, 0.87, 1 ) —- 梅花色。

  • powderblue = Color( 0.69, 0.88, 0.9, 1 ) —- 浅蓝色。

  • purple = Color( 0.63, 0.13, 0.94, 1 ) —- 紫色。

  • rebeccapurple = Color( 0.4, 0.2, 0.6, 1 ) —- 丽贝卡紫色。

  • red = Color( 1, 0, 0, 1 ) —- 红色。

  • rosybrown = Color( 0.74, 0.56, 0.56, 1 ) —- 玫瑰棕。

  • royalblue = Color( 0.25, 0.41, 0.88, 1 ) —- 宝蓝色。

  • saddlebrown = Color( 0.55, 0.27, 0.07, 1 ) —- 鞍棕色。

  • salmon = Color( 0.98, 0.5, 0.45, 1 ) —- 鲑鱼色。

  • sandybrown = Color( 0.96, 0.64, 0.38, 1 ) —- 沙褐色。

  • seagreen = Color( 0.18, 0.55, 0.34, 1 ) —- 海绿色。

  • seashell = Color( 1, 0.96, 0.93, 1 ) —- 贝壳色。

  • sienna = Color( 0.63, 0.32, 0.18, 1 ) —- 西恩娜色。

  • silver = Color( 0.75, 0.75, 0.75, 1 ) —- 银色。

  • skyblue = Color( 0.53, 0.81, 0.92, 1 ) —- 天蓝色。

  • slateblue = Color( 0.42, 0.35, 0.8, 1 ) —- 石板蓝色。

  • slategray = Color( 0.44, 0.5, 0.56, 1 ) —- 石板灰。

  • snow = Color( 1, 0.98, 0.98, 1 ) —- 雪白。

  • springgreen = Color( 0, 1, 0.5, 1 ) —- 春绿。

  • steelblue = Color( 0.27, 0.51, 0.71, 1 ) —- 钢蓝色。

  • tan = Color( 0.82, 0.71, 0.55, 1 ) —- 棕褐色。

  • teal = Color( 0, 0.5, 0.5, 1 ) —- 青色。

  • thistle = Color( 0.85, 0.75, 0.85, 1 ) —- 蓟色。

  • tomato = Color( 1, 0.39, 0.28, 1 ) —- 番茄色。

  • transparent = Color( 1, 1, 1, 0 ) —- 透明色(白色,无alpha)。

  • turquoise = Color( 0.25, 0.88, 0.82, 1 ) —- 松石绿。

  • violet = Color( 0.93, 0.51, 0.93, 1 ) —- 紫罗兰色。

  • webgray = Color( 0.5, 0.5, 0.5, 1 ) —- 网格灰。

  • webgreen = Color( 0, 0.5, 0, 1 ) —- 网络绿。

  • webmaroon = Color( 0.5, 0, 0, 1 ) —- 网络栗。

  • webpurple = Color( 0.5, 0, 0.5, 1 ) —- 网络紫。

  • wheat = Color( 0.96, 0.87, 0.7, 1 ) —- 小麦色。

  • white = Color( 1, 1, 1, 1 ) —- 白色。

  • whitesmoke = Color( 0.96, 0.96, 0.96, 1 ) —- 白烟色。

  • yellow = Color( 1, 1, 0, 1 ) —- 黄色。

  • yellowgreen = Color( 0.6, 0.8, 0.2, 1 ) —- 黄绿色。

属性说明

Default

1.0

颜色的alpha(透明度)分量,通常在0到1的范围内。


Default

255

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


Default

0.0

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


Default

0

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


Default

0.0

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


Default

0

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


Default

0.0

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


Default

0.0

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


Default

0

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


Default

0.0

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


Default

0.0

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

方法说明

从 HTML 十六进制颜色字符串构造 ARGB 或 RGB 格式的颜色。另请参阅 @GDScript.ColorN

  1. # 以下每一个都是一样的颜色 RGBA(178, 217, 10, 255)。
  2. var c1 = Color("#ffb2d90a") # ARGB 格式,带“#”。
  3. var c2 = Color("ffb2d90a") # ARGB 格式。
  4. var c3 = Color("#b2d90a") # RGB 格式,带“#”。
  5. var c4 = Color("b2d90a") # RGB 格式。

从 RGBA 格式的 32 位整数构造颜色,每个字节代表一个颜色通道。

  1. var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)

根据 RGB 值构造颜色,通常介于 0 和 1 之间。Alpha 将为 1。

  1. var color = Color(0.2, 1.0, 0.7) # Similar to Color8(51, 255, 178, 255)

根据 RGBA 值构造颜色,通常介于 0 和 1 之间。

  1. var color = Color(0.2, 1.0, 0.7, 0.8) # Similar to Color8(51, 255, 178, 204)

返回将此颜色混合到另一个颜色上的新颜色。如果颜色是不透明的,结果也是不透明的。第二种颜色可以有一定范围的alpha值。

  1. var bg = Color(0.0, 1.0, 0.0, 0.5) # Green with alpha of 50%
  2. var fg = Color(1.0, 0.0, 0.0, 0.5) # Red with alpha of 50%
  3. var blended_color = bg.blend(fg) # Brown with alpha of 75%

返回对比度最高的颜色。

  1. var c = Color(0.3, 0.4, 0.9)
  2. var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, 255)

返回一个新的颜色,这个颜色按指定的百分比(比例从0到1)变暗。

  1. var green = Color(0.0, 1.0, 0.0)
  2. var darkgreen = green.darkened(0.2) # 20% darker than regular green

从 HSV 配置文件中构建一个颜色。hsv是0和1之间的值。

  1. var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, 79, 0.8) or Color8(100, 151, 201, 0.8)

Returns the luminance of the color in the [0.0, 1.0] range.

This is useful when determining light or dark color. Colors with a luminance smaller than 0.5 can be generally considered dark.


返回颜色的灰度表示。

灰度值计算为 (r + g + b) / 3

  1. var c = Color(0.2, 0.45, 0.82)
  2. var gray = c.gray() # A value of 0.466667

返回反色(1-r,1-g,1-b,a)

  1. var color = Color(0.3, 0.4, 0.9)
  2. var inverted_color = color.inverted() # Equivalent to Color(0.7, 0.6, 0.1)

通过在每个组件上运行@GDScript.is_equal_approx,如果这个颜色和color近似相等,返回true


返回将此颜色按指定百分比(比例从0到1)变浅后产生的新颜色。

  1. var green = Color(0.0, 1.0, 0.0)
  2. var lightgreen = green.lightened(0.2) # 20% lighter than regular green

返回另一种颜色的线性插值。插值系数 weight 介于 0 和 1 之间。

  1. var c1 = Color(1.0, 0.0, 0.0)
  2. var c2 = Color(0.0, 1.0, 0.0)
  3. var li_c = c1.linear_interpolate(c2, 0.5) # Equivalent to Color(0.5, 0.5, 0.0)

  • int to_abgr32 ( )

返回转换为 ABGR 格式的 32 位整数的颜色,每个字节代表一个颜色通道。 ABGR 是默认格式的转置版本。

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_abgr32()) # Prints 4281565439

  • int to_abgr64 ( )

返回转换为 ABGR 格式的 64 位整数的颜色,每个字代表一个颜色通道。 ABGR 是默认格式的转置版本。

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_abgr64()) # Prints -225178692812801

  • int to_argb32 ( )

返回转换为 ARGB 格式的 32 位整数的颜色,每个字节代表一个颜色通道。 ARGB 与 DirectX 更加兼容。

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_argb32()) # Prints 4294934323

  • int to_argb64 ( )

返回转换为 ARGB 格式的 64 位整数的颜色,每个字代表一个颜色通道。 ARGB 与 DirectX 更加兼容。

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_argb64()) # Prints -2147470541

返回 ARGB 格式的 HTML 十六进制颜色字符串(例如:ff34f822)。

with_alpha 设置为 false 将十六进制字符串中的 alpha 排除在外。

  1. var c = Color(1, 1, 1, 0.5)
  2. var s1 = c.to_html() # 返回 "7fffffff"
  3. var s2 = c.to_html(false) # 返回 "ffffff"

  • int to_rgba32 ( )

返回转换为 RGBA 格式的 32 位整数的颜色,每个字节代表一个颜色通道。 RGBA 是 Godot 的默认格式。

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_rgba32()) # Prints 4286526463

  • int to_rgba64 ( )

返回转换为 RGBA 格式的 64 位整数的颜色,每个字代表一个颜色通道。 RGBA 是 Godot 的默认格式。

  1. var color = Color(1, 0.5, 0.2)
  2. print(color.to_rgba64()) # Prints -140736629309441