Package edu.wpi.first.wpilibj.util
Class Color
java.lang.Object
edu.wpi.first.wpilibj.util.Color
Represents colors.
Limited to 12 bits of precision.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumRepresents a color channel in an RGB color. -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal doubleBlue component (0-1).final doubleGreen component (0-1).static final Color0xF0F8FF.static final Color0xFAEBD7.static final Color0x00FFFF.static final Color0x7FFFD4.static final Color0xF0FFFF.static final Color0xF5F5DC.static final Color0xFFE4C4.static final Color0x000000.static final Color0xFFEBCD.static final Color0x0000FF.static final Color0x8A2BE2.static final Color0xA52A2A.static final Color0xDEB887.static final Color0x5F9EA0.static final Color0x7FFF00.static final Color0xD2691E.static final Color0xFF7F50.static final Color0x6495ED.static final Color0xFFF8DC.static final Color0xDC143C.static final Color0x00FFFF.static final Color0x00008B.static final Color0x008B8B.static final Color0xB8860B.static final Color0xA9A9A9.static final Color0x006400.static final Color0xBDB76B.static final Color0x8B008B.static final Color0x556B2F.static final Color0xFF8C00.static final Color0x9932CC.static final Color0x8B0000.static final Color0xE9967A.static final Color0x8FBC8F.static final Color0x483D8B.static final Color0x2F4F4F.static final Color0x00CED1.static final Color0x9400D3.static final Color0xFF1493.static final Color0x00BFFF.static final Color0x1560BD.static final Color0x696969.static final Color0x1E90FF.static final Color0xB22222.static final Color0x0066B3.static final Color0xED1C24.static final Color0xFFFAF0.static final Color0x228B22.static final Color0xFF00FF.static final Color0xDCDCDC.static final Color0xF8F8FF.static final Color0xFFD700.static final Color0xDAA520.static final Color0x808080.static final Color0x008000.static final Color0xADFF2F.static final Color0xF0FFF0.static final Color0xFF69B4.static final Color0xCD5C5C.static final Color0x4B0082.static final Color0xFFFFF0.static final Color0xF0E68C.static final Color0xE6E6FA.static final Color0xFFF0F5.static final Color0x7CFC00.static final Color0xFFFACD.static final Color0xADD8E6.static final Color0xF08080.static final Color0xE0FFFF.static final Color0xFAFAD2.static final Color0xD3D3D3.static final Color0x90EE90.static final Color0xFFB6C1.static final Color0xFFA07A.static final Color0x20B2AA.static final Color0x87CEFA.static final Color0x778899.static final Color0xB0C4DE.static final Color0xFFFFE0.static final Color0x00FF00.static final Color0x32CD32.static final Color0xFAF0E6.static final Color0xFF00FF.static final Color0x800000.static final Color0x66CDAA.static final Color0x0000CD.static final Color0xBA55D3.static final Color0x9370DB.static final Color0x3CB371.static final Color0x7B68EE.static final Color0x00FA9A.static final Color0x48D1CC.static final Color0xC71585.static final Color0x191970.static final Color0xF5FFFA.static final Color0xFFE4E1.static final Color0xFFE4B5.static final Color0xFFDEAD.static final Color0x000080.static final Color0xFDF5E6.static final Color0x808000.static final Color0x6B8E23.static final Color0xFFA500.static final Color0xFF4500.static final Color0xDA70D6.static final Color0xEEE8AA.static final Color0x98FB98.static final Color0xAFEEEE.static final Color0xDB7093.static final Color0xFFEFD5.static final Color0xFFDAB9.static final Color0xCD853F.static final Color0xFFC0CB.static final Color0xDDA0DD.static final Color0xB0E0E6.static final Color0x800080.static final Color0xFF0000.static final Color0xBC8F8F.static final Color0x4169E1.static final Color0x8B4513.static final Color0xFA8072.static final Color0xF4A460.static final Color0x2E8B57.static final Color0xFFF5EE.static final Color0xA0522D.static final Color0xC0C0C0.static final Color0x87CEEB.static final Color0x6A5ACD.static final Color0x708090.static final Color0xFFFAFA.static final Color0x00FF7F.static final Color0x4682B4.static final Color0xD2B48C.static final Color0x008080.static final Color0xD8BFD8.static final Color0xFF6347.static final Color0x40E0D0.static final Color0xEE82EE.static final Color0xF5DEB3.static final Color0xFFFFFF.static final Color0xF5F5F5.static final Color0xFFFF00.static final Color0x9ACD32.final doubleRed component (0-1). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic ColorfromHSV(int h, int s, int v) Creates a Color from HSV values.inthashCode()static inthsvToRgb(int h, int s, int v) Converts HSV values to RGB values.static intlerpRGB(double r1, double g1, double b1, double r2, double g2, double b2, double t) Linearly interpolates between two RGB colors represented by the (r1, g1, b1) and (r2, g2, b2) triplets.static intlerpRGB(int r1, int g1, int b1, int r2, int g2, int b2, double t) Linearly interpolates between two RGB colors represented by the (r1, g1, b1) and (r2, g2, b2) triplets.static ColorPerforms a linear interpolation between two colors in the RGB colorspace.static intpackRGB(int r, int g, int b) Packs 3 RGB values into a single 32-bit integer.Return this color represented as a hex string.toString()static intunpackRGB(int packedColor, Color.RGBChannel channel) Unpacks a single color channel from a packed 32-bit RGB integer.
-
Field Details
-
red
Red component (0-1). -
green
Green component (0-1). -
blue
Blue component (0-1). -
kDenim
0x1560BD. -
kFirstBlue
0x0066B3. -
kFirstRed
0xED1C24. -
kAliceBlue
0xF0F8FF. -
kAntiqueWhite
0xFAEBD7. -
kAqua
0x00FFFF. -
kAquamarine
0x7FFFD4. -
kAzure
0xF0FFFF. -
kBeige
0xF5F5DC. -
kBisque
0xFFE4C4. -
kBlack
0x000000. -
kBlanchedAlmond
0xFFEBCD. -
kBlue
0x0000FF. -
kBlueViolet
0x8A2BE2. -
kBrown
0xA52A2A. -
kBurlywood
0xDEB887. -
kCadetBlue
0x5F9EA0. -
kChartreuse
0x7FFF00. -
kChocolate
0xD2691E. -
kCoral
0xFF7F50. -
kCornflowerBlue
0x6495ED. -
kCornsilk
0xFFF8DC. -
kCrimson
0xDC143C. -
kCyan
0x00FFFF. -
kDarkBlue
0x00008B. -
kDarkCyan
0x008B8B. -
kDarkGoldenrod
0xB8860B. -
kDarkGray
0xA9A9A9. -
kDarkGreen
0x006400. -
kDarkKhaki
0xBDB76B. -
kDarkMagenta
0x8B008B. -
kDarkOliveGreen
0x556B2F. -
kDarkOrange
0xFF8C00. -
kDarkOrchid
0x9932CC. -
kDarkRed
0x8B0000. -
kDarkSalmon
0xE9967A. -
kDarkSeaGreen
0x8FBC8F. -
kDarkSlateBlue
0x483D8B. -
kDarkSlateGray
0x2F4F4F. -
kDarkTurquoise
0x00CED1. -
kDarkViolet
0x9400D3. -
kDeepPink
0xFF1493. -
kDeepSkyBlue
0x00BFFF. -
kDimGray
0x696969. -
kDodgerBlue
0x1E90FF. -
kFirebrick
0xB22222. -
kFloralWhite
0xFFFAF0. -
kForestGreen
0x228B22. -
kFuchsia
0xFF00FF. -
kGainsboro
0xDCDCDC. -
kGhostWhite
0xF8F8FF. -
kGold
0xFFD700. -
kGoldenrod
0xDAA520. -
kGray
0x808080. -
kGreen
0x008000. -
kGreenYellow
0xADFF2F. -
kHoneydew
0xF0FFF0. -
kHotPink
0xFF69B4. -
kIndianRed
0xCD5C5C. -
kIndigo
0x4B0082. -
kIvory
0xFFFFF0. -
kKhaki
0xF0E68C. -
kLavender
0xE6E6FA. -
kLavenderBlush
0xFFF0F5. -
kLawnGreen
0x7CFC00. -
kLemonChiffon
0xFFFACD. -
kLightBlue
0xADD8E6. -
kLightCoral
0xF08080. -
kLightCyan
0xE0FFFF. -
kLightGoldenrodYellow
0xFAFAD2. -
kLightGray
0xD3D3D3. -
kLightGreen
0x90EE90. -
kLightPink
0xFFB6C1. -
kLightSalmon
0xFFA07A. -
kLightSeaGreen
0x20B2AA. -
kLightSkyBlue
0x87CEFA. -
kLightSlateGray
0x778899. -
kLightSteelBlue
0xB0C4DE. -
kLightYellow
0xFFFFE0. -
kLime
0x00FF00. -
kLimeGreen
0x32CD32. -
kLinen
0xFAF0E6. -
kMagenta
0xFF00FF. -
kMaroon
0x800000. -
kMediumAquamarine
0x66CDAA. -
kMediumBlue
0x0000CD. -
kMediumOrchid
0xBA55D3. -
kMediumPurple
0x9370DB. -
kMediumSeaGreen
0x3CB371. -
kMediumSlateBlue
0x7B68EE. -
kMediumSpringGreen
0x00FA9A. -
kMediumTurquoise
0x48D1CC. -
kMediumVioletRed
0xC71585. -
kMidnightBlue
0x191970. -
kMintcream
0xF5FFFA. -
kMistyRose
0xFFE4E1. -
kMoccasin
0xFFE4B5. -
kOldLace
0xFDF5E6. -
kOlive
0x808000. -
kOliveDrab
0x6B8E23. -
kOrange
0xFFA500. -
kOrangeRed
0xFF4500. -
kOrchid
0xDA70D6. -
kPaleGoldenrod
0xEEE8AA. -
kPaleGreen
0x98FB98. -
kPaleTurquoise
0xAFEEEE. -
kPaleVioletRed
0xDB7093. -
kPapayaWhip
0xFFEFD5. -
kPeachPuff
0xFFDAB9. -
kPeru
0xCD853F. -
kPink
0xFFC0CB. -
kPlum
0xDDA0DD. -
kPowderBlue
0xB0E0E6. -
kPurple
0x800080. -
kRed
0xFF0000. -
kRosyBrown
0xBC8F8F. -
kRoyalBlue
0x4169E1. -
kSaddleBrown
0x8B4513. -
kSalmon
0xFA8072. -
kSandyBrown
0xF4A460. -
kSeaGreen
0x2E8B57. -
kSeashell
0xFFF5EE. -
kSienna
0xA0522D. -
kSilver
0xC0C0C0. -
kSkyBlue
0x87CEEB. -
kSlateBlue
0x6A5ACD. -
kSlateGray
0x708090. -
kSnow
0xFFFAFA. -
kSpringGreen
0x00FF7F. -
kSteelBlue
0x4682B4. -
kTan
0xD2B48C. -
kTeal
0x008080. -
kThistle
0xD8BFD8. -
kTomato
0xFF6347. -
kTurquoise
0x40E0D0. -
kViolet
0xEE82EE. -
kWheat
0xF5DEB3. -
kWhite
0xFFFFFF. -
kWhiteSmoke
0xF5F5F5. -
kYellow
0xFFFF00. -
kYellowGreen
0x9ACD32.
-
-
Constructor Details
-
Color
public Color()Constructs a default color (black). -
Color
Constructs a Color from doubles.- Parameters:
red- Red value (0-1)green- Green value (0-1)blue- Blue value (0-1)
-
Color
Constructs a Color from ints.- Parameters:
red- Red value (0-255)green- Green value (0-255)blue- Blue value (0-255)
-
Color
Constructs a Color from a Color8Bit.- Parameters:
color- The color
-
Color
Constructs a Color from a hex string.- Parameters:
hexString- a string of the format#RRGGBB- Throws:
IllegalArgumentException- if the hex string is invalid.
-
-
Method Details
-
fromHSV
Creates a Color from HSV values.- Parameters:
h- The h value [0-180)s- The s value [0-255]v- The v value [0-255]- Returns:
- The color
-
equals
-
hashCode
-
toString
-
toHexString
Return this color represented as a hex string.- Returns:
- a string of the format
#RRGGBB
-
hsvToRgb
Converts HSV values to RGB values. The returned RGB color is packed into a 32-bit integer for memory performance reasons.- Parameters:
h- The h value [0-180)s- The s value [0-255]v- The v value [0-255]- Returns:
- the packed RGB color
-
packRGB
Packs 3 RGB values into a single 32-bit integer. These values can be unpacked withunpackRGB(int, RGBChannel)to retrieve the values. This is helpful for avoiding memory allocations of newColorobjects and its resulting garbage collector pressure.- Parameters:
r- the value of the first channel to packg- the value of the second channel to packb- the value of the third channel to pack- Returns:
- the packed integer
-
unpackRGB
Unpacks a single color channel from a packed 32-bit RGB integer.Note: Packed RGB colors are expected to be in byte order [empty][red][green][blue].
- Parameters:
packedColor- the packed color to extract fromchannel- the color channel to unpack- Returns:
- the value of the stored color channel
-
lerpRGB
Performs a linear interpolation between two colors in the RGB colorspace.- Parameters:
a- the first color to interpolate fromb- the second color to interpolate fromt- the interpolation scale in [0, 1]- Returns:
- the interpolated color
-
lerpRGB
public static int lerpRGB(double r1, double g1, double b1, double r2, double g2, double b2, double t) Linearly interpolates between two RGB colors represented by the (r1, g1, b1) and (r2, g2, b2) triplets. For memory performance reasons, the output color is returned packed into a single 32-bit integer; useunpackRGB(int, RGBChannel)to extract the values for the individual red, green, and blue channels.- Parameters:
r1- the red value of the first color, in [0, 1]g1- the green value of the first color, in [0, 1]b1- the blue value of the first color, in [0, 1]r2- the red value of the second color, in [0, 1]g2- the green value of the second color, in [0, 1]b2- the blue value of the second color, in [0, 1]t- the interpolation value, in [0, 1]- Returns:
- the interpolated color, packed in a 32-bit integer
-
lerpRGB
Linearly interpolates between two RGB colors represented by the (r1, g1, b1) and (r2, g2, b2) triplets. For memory performance reasons, the output color is returned packed into a single 32-bit integer; useunpackRGB(int, RGBChannel)to extract the values for the individual red, green, and blue channels.- Parameters:
r1- the red value of the first color, in [0, 255]g1- the green value of the first color, in [0, 255]b1- the blue value of the first color, in [0, 255]r2- the red value of the second color, in [0, 255]g2- the green value of the second color, in [0, 255]b2- the blue value of the second color, in [0, 255]t- the interpolation value, in [0, 1]- Returns:
- the interpolated color, packed in a 32-bit integer
-