跳到主要内容

Color

简要描述

RGBA格式的颜色,并支持ARGB格式。

描述

颜色由红色,绿色和蓝色(r, g, b)分量表示。另外,a表示Alpha分量,通常用于透明度。颜色值以浮点数表示,通常为0到1。某些属性(例如CanvasItem.modulate)可以接收大于1的值。

您还可以使用[@IVRScript.ColorN]或直接使用此处定义的颜色常量,从标准化颜色名称创建颜色。标准化颜色集基于[url=https://en.wikipedia.org/wiki/X11_color_names]X11颜色名称[/url]

成员

类型属性名默认值
floata1.0
inta8255
floatb0.0
intb80
floatg0.0
intg80
floath0.0
floatr0.0
intr80
floats0.0
floatv(#member-v)0.0

方法

返回值类型方法名称
ColorColor(from: String)
ColorColor(from: int)
ColorColor(r: float, g: float, b: float)
ColorColor(r: float, g: float, b: float, a: float)
Colorblend(over: Color)
Colorcontrasted()
Colordarkened(amount: float)
Colorfrom_hsv(h: float, s: float, v: float, a: float = 1.0)
floatgray()
Colorinverted()
boolis_equal_approx(color: Color)
Colorlightened(amount: float)
Colorlinear_interpolate(b: Color, t: float)
intto_abgr32()
intto_abgr64()
intto_argb32()
intto_argb64()
Stringto_html(with_alpha: bool = true)
intto_rgba32()
intto_rgba64()

常量

  • gray = Color( 0.75, 0.75, 0.75, 1 )

    ★★★★★ 灰色。
  • 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 )

    ★★★★★金黄色。
  • 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值为0)。
  • 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 )**

Web灰色。

  • **webgreen = Color( 0, 0.5, 0, 1 )**

Web绿色。

  • **webmaroon = Color( 0.5, 0, 0, 1 )**

Web栗色。

  • **webpurple = Color( 0.5, 0, 0.5, 1 )**

Web紫色。

  • 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 )

    ★★★★★黄绿色。

成员说明

  • float a
Default1.0
getter****
  • int a8
Default255
getter****
  • float b
Default0.0
getter****
  • int b8
Default0
getter****
  • float g
Default0.0
getter****
  • int g8
Default0
getter****
  • float h
Default0.0
getter****
  • float r
Default0.0
getter****
  • int r8
Default0
getter****
  • float s
Default0.0
getter****
  • float v
Default0.0
getter****

方法说明

  • Color Color(from: String)

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

# 以下各项均创建相同的颜色RGBA(178, 217, 10, 255)。
var c1 = Color("#ffb2d90a") # 带“#”的ARGB格式。
var c2 = Color("ffb2d90a") # ARGB格式。
var c3 = Color("#b2d90a") # 带“#”的RGB格式。
var c4 = Color("b2d90a") # RGB格式。

  • Color Color(from: int)

用32位整数构造颜色(每个字节代表RGBA格式的一个分量)。

var c = Color(274) # 等价于RGBA(0, 0, 1, 18)

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

用0到1之间的值构造RGB格式的颜色,Alpha始终为1。

var c = Color(0.2, 1.0, 0.7) # 等价于RGBA(51, 255, 178, 255)

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

用0到1之间的值构造RGBA格式的颜色。

var c = Color(0.2, 1.0, 0.7, 0.8) # 等价于RGBA(51, 255, 178, 204)

  • blend blend(over: Color)

返回将这种颜色混合到另一种颜色而得到的新颜色。如果颜色是不透明的,则结果也是不透明的。第二种颜色可以具有一定范围的Alpha值。

var bg = Color(0.0, 1.0, 0.0, 0.5) # 绿色,Alpha为50%
var fg = Color(1.0, 0.0, 0.0, 0.5) # 红色,Alpha为50%
var blended_color = bg.blend(fg) # 棕色,Alpha为75%

  • contrasted contrasted()

返回对比度最大的颜色。

var c = Color(0.3, 0.4, 0.9)
var contrasted_color = c.contrasted() # 等价于RGBA(204, 229, 102, 255)

  • darkened darkened(amount: float)

返回一种新颜色,该颜色是通过将颜色变暗指定的百分比(比率从0到1)而得出的。

var green = Color(0.0, 1.0, 0.0)
var darkgreen = green.darkened(0.2) # 比普通绿色暗20%

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

根据HSV分量构造颜色。hsv的值介于0和1之间。

var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # 等价于HSV(210, 50, 79, 0.8)或Color8(100, 151, 201, 0.8)

  • gray gray()

返回颜色的灰度表示。

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

var c = Color(0.2, 0.45, 0.82)
var gray = c.gray() # 灰度值为0.466667

  • inverted inverted()

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

var c = Color(0.3, 0.4, 0.9)
var inverted_color = c.inverted() # 颜色为RGBA(178, 153, 26, 255)

  • is_equal_approx is_equal_approx(color: Color)

如果此颜色和color大致相等(通过在每个分量上运行[@IVRScript.is_equal_approx]),则返回true


  • lightened lightened(amount: float)

返回一种新的颜色,该颜色是通过使该颜色变浅指定的百分比(比率从0到1)而产生的。

var green = Color(0.0, 1.0, 0.0)
var lightgreen = green.lightened(0.2) # 比普通绿色浅20%

  • linear_interpolate linear_interpolate(b: Color, t: float)

返回与另一种颜色线性插值得到的新颜色。插值因子t在0到1之间。

var c1 = Color(1.0, 0.0, 0.0)
var c2 = Color(0.0, 1.0, 0.0)
var li_c = c1.linear_interpolate(c2, 0.5) # 颜色为RGBA(128, 128, 0, 255)

  • to_abgr32 to_abgr32()

以ABGR格式返回颜色的32位整数(每个字节代表ABGR格式的一个分量)。ABGR是默认格式的反向版本。

var c = Color(1, 0.5, 0.2)
print(c.to_abgr32()) # 输出4281565439

  • to_abgr64 to_abgr64()

以ABGR格式返回颜色的64位整数(每两个字节代表ABGR格式的一个分量)。ABGR是默认格式的反向版本。

var c = Color(1, 0.5, 0.2)
print(c.to_abgr64()) # 输出-225178692812801

  • to_argb32 to_argb32()

以ARGB格式返回颜色的32位整数(每个字节代表ARGB格式的一个分量)。ARGB与DirectX更兼容。

var c = Color(1, 0.5, 0.2)
print(c.to_argb32()) # 输出4294934323

  • to_argb64 to_argb64()

以ARGB格式返回颜色的64位整数(每两个字节代表ARGB格式的一个分量)。ARGB与DirectX更兼容。

var c = Color(1, 0.5, 0.2)
print(c.to_argb64()) # 输出-2147470541

  • to_html to_html(with_alpha: bool = true)

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

with_alpha设置为false会从十六进制字符串中去除Alpha分量。

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

  • to_rgba32 to_rgba32()

以RGBA格式返回颜色的32位整数(每个字节代表RGBA格式的一个分量)。RGBA是IdeaXR的默认格式。

var c = Color(1, 0.5, 0.2)
print(c.to_rgba32()) # 输出4286526463

  • to_rgba64 to_rgba64()

以RGBA格式返回颜色的64位整数(每两个字节代表RGBA格式的一个分量)。RGBA是IdeaXR的默认格式。

var c = Color(1, 0.5, 0.2)
print(c.to_rgba64()) # 输出-140736629309441