自定义颜色#
简介#
VEX AIR 无人机支持使用自定义颜色绘制和打印文本。自定义颜色可以使用 RGB 值或十六进制代码创建。自定义颜色还包含在项目期间更新颜色对象的方法。
以下是可用构造函数的列表:
构造函数–创建一个新的Color对象。
Color(value)– 使用十六进制字符串(例如"#FFF700")或十六进制整数(例如0xFFF700)创建颜色。Color(r, g, b)–使用红色、绿色和蓝色值创建颜色。
修改方法 –更新现有的Color 对象。
rgb– 使用 RGB 值将已创建的颜色对象设置为新颜色。hsv– 使用色相、饱和度和亮度值将已创建的颜色对象设置为新颜色。web– 使用 Web 十六进制颜色字符串(例如"#32C8B6")将已创建的颜色对象设置为新颜色。
获取方法 – 返回颜色对象的色调或饱和度值。
saturation– 返回自定义颜色的饱和度值。hue– 返回自定义颜色的色相值。
创建自定义颜色#
要使用自定义颜色,必须首先使用以下构造函数之一创建一个 Color 对象:
Hexadecimal String#
使用 Web 颜色字符串(十六进制代码)创建颜色。
用法:
Color(value)
参数 |
描述 |
|---|---|
|
一个作为字符串的六位十六进制代码(例如,表示黄色的 |
# Construct a yellow Color "yellow" using a
# hexadecimal string
yellow = Color("#FFF700")
controller.screen.set_pen_color(yellow)
controller.screen.print("My Yellow")
Hexadecimal Integer#
使用六位十六进制整数创建颜色。
用法:
Color(value)
参数 |
描述 |
|---|---|
|
十六进制格式的六位整数(例如黄色 |
# Construct a yellow Color "yellow" using a
# hexadecimal integer
yellow = Color(0xFFF700)
controller.screen.set_pen_color(yellow)
controller.screen.print("My Yellow")
RGB#
使用单独的红色、绿色和蓝色值创建颜色。
用法:
Color(r, g, b)
参数 |
描述 |
|---|---|
|
代表红色成分的 0 到 255 之间的整数。 |
|
代表绿色成分的 0 到 255 之间的整数。 |
|
代表蓝色成分的 0 到 255 之间的整数。 |
# Construct a yellow Color "yellow" using
# RGB values
yellow = Color(255, 247, 0)
controller.screen.set_pen_color(yellow)
controller.screen.print("My Yellow")
修改方法#
这些方法用于更新现有 Color 对象的颜色。要使用它们,请在创建 Color 时将其赋值给一个变量,然后对该变量调用方法以更改其颜色。
rgb#
rgb 使用 RGB 值更新现有 Color 对象的颜色。
用法:
variable_name.rgb(r, g, b)
参数 |
描述 |
|---|---|
|
0 到 255 之间的整数,表示颜色的红色成分。 |
|
0 到 255 之间的整数,表示颜色的绿色成分。 |
|
0 到 255 之间的整数,表示颜色的蓝色成分。 |
# Create a custom teal color
my_fill_color = Color(50, 200, 180)
# Draw a teal rectangle
controller.screen.draw_rectangle(x=30, y=70, width=80, height=50, color=my_fill_color)
# Draw a magenta rectangle
my_fill_color.rgb(170, 40, 150)
controller.screen.draw_rectangle(x=130, y=70, width=80, height=50, color=my_fill_color)
hsv#
hsv 使用 HSV 值更新现有 Color 对象的颜色。
注意: hsv 只能用于更改已经创建的 Color 对象。它不能用于创建新的 Color 对象。
用法:
variable_name.hsv(h, s, v)
参数 |
描述 |
|---|---|
|
一个介于 0 到 359 之间的整数,表示颜色的色调。 |
|
0.0 到 1.0 之间的浮点数,表示颜色的饱和度。 |
|
0.0 到 1.0 之间的浮点数,表示颜色的亮度。 |
# Create a custom teal color
my_fill_color = Color(50, 200, 180)
# Draw a teal rectangle
controller.screen.draw_rectangle(x=30, y=70, width=80, height=50, color=my_fill_color)
# Draw a magenta rectangle
my_fill_color.hsv(300, 0.75, 0.78)
controller.screen.draw_rectangle(x=130, y=70, width=80, height=50, color=my_fill_color)
web#
web 使用 Web 颜色(十六进制代码)更新现有 Color 对象的颜色。
用法:
variable_name.web(value)
参数 |
描述 |
|---|---|
|
网页颜色作为字符串(十六进制代码)(例如, |
# Create a custom teal color
my_fill_color = Color("#32C8B6")
# Draw a teal rectangle
controller.screen.draw_rectangle(x=30, y=70, width=80, height=50, color=my_fill_color)
# Draw a magenta rectangle
my_fill_color.web("#AA2896")
controller.screen.draw_rectangle(x=130, y=70, width=80, height=50, color=my_fill_color)
获取方法#
saturation#
saturation 以 0 到 1 的浮点数形式返回自定义颜色的饱和度值。
用法:
my_color.saturation()
将 my_color 替换为自定义颜色对象的名称。
参数 |
描述 |
|---|---|
该方法没有参数。 |
# Create a custom teal color
color_teal = Color(50, 200, 180)
# Display the saturation value of teal
controller.screen.print(color_teal.saturation())
hue#
hue 以 0 到 359 的浮点数形式返回自定义颜色的色相值。
用法:
my_color.hue()
将 my_color 替换为自定义颜色对象的名称。
参数 |
描述 |
|---|---|
该方法没有参数。 |
# Create a custom teal color
color_teal = Color(50, 200, 180)
# Display the hue value of teal
controller.screen.print(color_teal.hue())