Смеситель цветов
Смешивайте два цвета и смотрите результаты в RGB, HEX и HSL.
Об этом инструменте
Color Mixer — простой, но мощный инструмент для смешивания двух цветов и изучения результатов в нескольких форматах. Независимо от того, выбираете ли вы палитру цветов бренда в качестве дизайнера, создаёте цветовую схему для интерфейсов как разработчик или экспериментируете с цветовой гармонией как художник, этот инструмент мгновенно показывает значения RGB, HEX и HSL любой комбинации цветов без необходимости в графическом программном обеспечении или математических расчётах.
Чтобы использовать инструмент, выберите или вставьте два цвета, используя палитры цветов или поля ввода HEX, а затем отрегулируйте соотношение смешивания с помощью ползунка, чтобы управлять тем, насколько каждый цвет влияет на окончательный результат. Микшер обновляется в реальном времени, отображая смешанный результат рядом со всеми тремя цветовыми форматами, что облегчает копирование точных значений для использования в коде, файлах дизайна или цифровых проектах. Вы также можете инвертировать цвета или отрегулировать отдельные RGB-каналы для более точного управления.
Часто задаваемые вопросы
Реализация кода
# RGB linear interpolation color mixing
def hex_to_rgb(hex_color: str) -> tuple[int, int, int]:
hex_color = hex_color.lstrip('#')
return tuple(int(hex_color[i:i+2], 16) for i in (0, 2, 4))
def rgb_to_hex(r: int, g: int, b: int) -> str:
return f"#{r:02x}{g:02x}{b:02x}"
def mix_colors(color_a: str, color_b: str, ratio: float = 0.5) -> str:
"""
Mix two hex colors.
ratio=0.0 -> pure color_a
ratio=0.5 -> equal mix
ratio=1.0 -> pure color_b
"""
r1, g1, b1 = hex_to_rgb(color_a)
r2, g2, b2 = hex_to_rgb(color_b)
r = round(r1 + (r2 - r1) * ratio)
g = round(g1 + (g2 - g1) * ratio)
b = round(b1 + (b2 - b1) * ratio)
return rgb_to_hex(r, g, b)
# Generate gradient steps
def gradient_steps(color_a: str, color_b: str, steps: int = 5) -> list[str]:
return [mix_colors(color_a, color_b, i / (steps - 1)) for i in range(steps)]
print(mix_colors("#6366f1", "#ec4899", 0.5)) # #a7559d
print(gradient_steps("#6366f1", "#ec4899"))Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.