Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- def hex_to_rgb(hex_color):
- hex_color = hex_color.lstrip("#")
- return tuple(int(hex_color[i:i+2], 16) for i in (0, 2, 4))
- def generate_multi_gradient_text(sentence, hex_colors):
- num_colors = len(sentence)
- color_points = np.linspace(0, num_colors - 1, len(hex_colors), dtype=int)
- r_values = np.interp(range(num_colors), color_points, [hex_to_rgb(c)[0] for c in hex_colors]).astype(int)
- g_values = np.interp(range(num_colors), color_points, [hex_to_rgb(c)[1] for c in hex_colors]).astype(int)
- b_values = np.interp(range(num_colors), color_points, [hex_to_rgb(c)[2] for c in hex_colors]).astype(int)
- return "".join(
- f"[COLOR=rgb({r},{g},{b})]{char}[/COLOR]"
- for char, r, g, b in zip(sentence, r_values, g_values, b_values)
- )
- sentence = "this is a rainbow colours"
- hex_colors = ["#FF0000", "#FFFF00", "#00FF00", "#00FFFF", "#8B00FF"]
- colored_text = generate_multi_gradient_text(sentence, hex_colors)
- print(colored_text)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement