自定义颜色#

简介#

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)

参数

描述

value

一个作为字符串的六位十六进制代码(例如,表示黄色的 “#FF700”)。

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

参数

描述

value

十六进制格式的六位整数(例如黄色0xFFF700)。

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

参数

描述

r

代表红色成分的 0 到 255 之间的整数。

g

代表绿色成分的 0 到 255 之间的整数。

b

代表蓝色成分的 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)

参数

描述

r

0 到 255 之间的整数,表示颜色的红色成分。

g

0 到 255 之间的整数,表示颜色的绿色成分。

b

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)

参数

描述

h

一个介于 0 到 359 之间的整数,表示颜色的色调。

s

0.0 到 1.0 之间的浮点数,表示颜色的饱和度。

v

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)

参数

描述

value

网页颜色作为字符串(十六进制代码)(例如,“#FFF700”)。

# 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())