Custom Colors#
Introduction#
The VEX AIR Drone supports the use of custom colors for drawing and printing text. Custom colors can be created using RGB values or hex codes. Custom Colors also include methods for both updating color objects during a project.
Below is a list of available constructors:
Constructors – Create a new Color
object.
Color(value)
– Creates a color using a hex string (e.g."#FFF700"
) or hex integer (e.g.0xFFF700
).Color(r, g, b)
– Creates a color using red, green, and blue values.
Mutators – Update an existing Color
object.
rgb
– Sets a created color object to a new color using RGB values.hsv
– Sets a created color object to a new color using hue, saturation, and brightness values.web
– Sets a created color object to a new color using a web hex color string (e.g."#32C8B6"
).
Getters – Return a color object’s hue or saturation value.
saturation
– Returns the saturation value for a custom color.hue
– Returns the hue value for a custom color.
Creating a Custom Color#
To use a custom color, you must first create a Color
object using one of the following constructors:
Hexadecimal String#
Creates a color using a web color string (hex code).
Usage:
Color(value)
Parameter |
Description |
---|---|
|
A six-digit hexidecimal code as a string (e.g., |
# 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#
Creates a color using a six-digit hexadecimal integer.
Usage:
Color(value)
Parameter |
Description |
---|---|
|
A six-digit integer in hexadecimal format (e.g., |
# Construct a yellow Color "yellow" using a
# hexadecimal integer
yellow = Color(0xFFF700)
controller.screen.set_pen_color(yellow)
controller.screen.print("My Yellow")
RGB#
Creates a color using separate red, green, and blue values.
Usage:
Color(r, g, b)
Parameter |
Description |
---|---|
|
An integer from 0 to 255 representing the red component. |
|
An integer from 0 to 255 representing the green component. |
|
An integer from 0 to 255 representing the blue component. |
# Construct a yellow Color "yellow" using
# RGB values
yellow = Color(255, 247, 0)
controller.screen.set_pen_color(yellow)
controller.screen.print("My Yellow")
Mutators#
These methods allow you to modify a Color
object after it has been created during a project.
rgb#
rgb
updates the color of an existing Color
object using RGB values.
Usage:
rgb(r, g, b)
Parameters |
Description |
---|---|
|
An integer from 0 to 255 representing the red component of the color. |
|
An integer from 0 to 255 representing the green component of the color. |
|
An integer from 0 to 255 representing the blue component of the color. |
# 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
updates the color of an existing Color
object using HSV values.
Note: hsv
can only be used to change a Color
object that has already been created. It cannot be used to create a new Color
Object.
Usage:
hsv(h, s, v)
Parameters |
Description |
---|---|
|
An integer from 0 to 360 representing the hue of the color. |
|
A float from 0.0 to 1.0 representing the saturation of the color. |
|
A float from 0.0 to 1.0 representing the brightness of the color. |
# 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
updates the color of an existing Color
object using a web color (hex code).
Usage:
web(value)
Parameters |
Description |
---|---|
|
A web color (hex code) as a string used to update the existing color instance. |
# 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)
Getters#
saturation#
saturation
returns the saturation value for a custom color as a float from 0 to 1.
Usage:
my_color.saturation()
Replace my_color
with the name of the custom color object.
Parameters |
Description |
---|---|
This method has no parameters. |
# 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
returns the hue value for a custom color as a float from 0 to 359.
Usage:
my_color.hue()
Replace my_color
with the name of the custom color object.
Parameters |
Description |
---|---|
This method has no parameters. |
# Create a custom teal color
color_teal = Color(50, 200, 180)
# Display the hue value of teal
controller.screen.print(color_teal.hue())