def fade_to_no_recurse(self, color, alpha): if self.get_num_points() > 0: start = color_to_rgb(self.get_color()) end = color_to_rgb(color) new_rgb = interpolate(start, end, alpha) self.set_color(Color(rgb=new_rgb), family=False) return self
def __init__(self, string: str, **kwargs): self.string = string digest_config(self, kwargs) # Convert `base_color` to hex code. self.base_color = rgb_to_hex(color_to_rgb( self.base_color \ or self.svg_default.get("color", None) \ or self.svg_default.get("fill_color", None) \ or WHITE )) self.svg_default["fill_color"] = BLACK self.pre_parse() self.parse() super().__init__() self.post_parse()
def tweak_color(color1, color2, weight=0.3): """Return a weighted-average of two colors.""" weight = np.clip(weight, 0, 1) tweaked_rgb = weight * color_to_rgb(color2) + ( 1 - weight) * color_to_rgb(color1) return rgb_to_color(tweaked_rgb)
def color_to_hex(color: ManimColor) -> str: return rgb_to_hex(color_to_rgb(color))