Skip to content
Snippets Groups Projects
Verified Commit 85bbe124 authored by dos's avatar dos
Browse files

sim: fakes: Implement RGB <-> HSV color conversions

parent c0d8c532
No related branches found
No related tags found
No related merge requests found
Pipeline #9350 passed
from _sim import _sim from _sim import _sim
from sys_colors import hsv_to_rgb
from math import tau
import pygame import pygame
...@@ -30,11 +32,7 @@ def set_all_rgb(r, g, b): ...@@ -30,11 +32,7 @@ def set_all_rgb(r, g, b):
def set_hsv(ix, h, s, v): def set_hsv(ix, h, s, v):
color = pygame.Color(0) set_rgb(ix, *hsv_to_rgb(h / 360 * tau, s, v))
h = int(h)
h = h % 360
color.hsva = (h, s * 100, v * 100, 1.0)
set_rgb(ix, color.r / 255, color.g / 255, color.b / 255)
def set_slew_rate(b: int): def set_slew_rate(b: int):
......
from colorsys import hsv_to_rgb, rgb_to_hsv from typing import Tuple
import pygame
from math import tau
def hsv_to_rgb(h: float, s: float, v: float) -> Tuple[float, float, float]:
color = pygame.Color(0)
color.hsva = ((h % tau) / tau * 360, s * 100, v * 100, 100)
return color.normalize()[:3]
def rgb_to_hsv(r: float, g: float, b: float) -> Tuple[float, float, float]:
color = pygame.Color(r, g, b)
h, s, v, a = color.hsva
return (h / 360 * tau, s / 100, v / 100)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment