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]。
成员
类型 | 属性名 | 默认值 |
---|---|---|
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(#member-v) | 0.0 |
方法
返回值类型 | 方法名称 |
---|---|
Color | Color(from: String) |
Color | Color(from: int) |
Color | Color(r: float, g: float, b: float) |
Color | Color(r: float, g: float, b: float, a: float) |
Color | blend(over: Color) |
Color | contrasted() |
Color | darkened(amount: float) |
Color | from_hsv(h: float, s: float, v: float, a: float = 1.0) |
float | gray() |
Color | inverted() |
bool | is_equal_approx(color: Color) |
Color | lightened(amount: float) |
Color | linear_interpolate(b: Color, t: float) |
int | to_abgr32() |
int | to_abgr64() |
int | to_argb32() |
int | to_argb64() |
String | to_html(with_alpha: bool = true) |
int | to_rgba32() |
int | to_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
Default | 1.0 |
---|---|
getter | **** |
- int a8
Default | 255 |
---|---|
getter | **** |
- float b
Default | 0.0 |
---|---|
getter | **** |
- int b8
Default | 0 |
---|---|
getter | **** |
- float g
Default | 0.0 |
---|---|
getter | **** |
- int g8
Default | 0 |
---|---|
getter | **** |
- float h
Default | 0.0 |
---|---|
getter | **** |
- float r
Default | 0.0 |
---|---|
getter | **** |
- int r8
Default | 0 |
---|---|
getter | **** |
- float s
Default | 0.0 |
---|---|
getter | **** |
- float v
Default | 0.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分量构造颜色。h
、s
和v
的值介于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