Related Stack Overflow questions:
The pygame.Color
object can be used to convert between the RGB and [HSL/HSV](HSL and HSV) color schemes.
The hsva
property:
Gets or sets the HSVA representation of the Color. The HSVA components are in the ranges H = [0, 360], S = [0, 100], V = [0, 100], A = [0, 100].
hsva = pygame.Color((red, green, blue, alpha)).hsva
color = pygame.Color(0)
color.hsva = (hue, saturation, value, alpha)
rgba = (color.r, color.g, color.b, color.a)
The hsla
property:
Gets or sets the HSLA representation of the Color. The HSLA components are in the ranges H = [0, 360], S = [0, 100], V = [0, 100], A = [0, 100].
hsla = pygame.Color((red, green, blue, alpha)).hsla
color = pygame.Color(0)
color.hsla = (hue, saturation, lightness, alpha)
rgba = (color.r, color.g, color.b, color.a)
📁 Minimal example - Set HSLA color
-
Shifting the color value based on percentage from green to red using PyGame
Shifting the color value based on percentage from green to red using PyGame
Related Stack Overflow questions:
Pygame provides the pygame.Color
object. The object can construct a color from various arguments (e.g. RGBA color channels, hexadecimal numbers, strings, ...).
It also offers the handy method lerp
, that can interpolate 2 colors:
Returns a Color which is a linear interpolation between self and the given Color in RGBA space
The pygame.Color
object and the lerp
method can be used to interpolate a color form a list of colors:
def lerp_color(colors, value):
fract, index = math.modf(value)
color1 = pygame.Color(colors[int(index) % len(colors)])
color2 = pygame.Color(colors[int(index + 1) % len(colors)])
return color1.lerp(color2, fract)