Color原创
constans.py
中定义了54中颜色常量!
manim
表示颜色有 hex
rgb
int_rgb
color
四种类。
rgb
int_rgb
的区别是:前者取值范围在0~255,后者取值在0~1.rgb
乘以255得到int_rgb
,反之亦然。
color
是最终的颜色,一切表示方法都将转为color
。
# ABCDE 系列
BLUE_E BLUE_D BLUE_C BLUE_B BLUE_A # 由深到浅 _c 结尾的可省略直接书写
TEAL_E ... # 蓝绿色
GREEN_E ...
YELLOW ...
GOLD_E ... # 金色
RED_E ...
MAROON_E ... # 褐红色 紫褐色
PURPLE_E ...
# DARK 系列
DARK_BLUE # BROWN GRAY(也可以写成 GREY) PINK ORANGE
LIGHT_BLUE
# 十六进制
以字符#
开头,后接6位十六进制。
# RGB
np.array([r,g,b]) // 0~255
# 颜色转换
manimlib/utils/color.py
中包含了一些转换颜色的表示方法函数
- hex_to_rgb
- rgb_to_hex
- color_to_rgb
- rgb_to_color
- color_to_int_rgb
# 颜色函数
# invert_color
对颜色取反。
# interpolate_color
在两个颜色之间用 alpha
比例插值。
# average_color
传入多个颜色,返回其平均颜色。
# color_gradient
传入多个参开颜色列表,和需要的长度 n
,返回长度为n
的颜色梯度序列。
# random_color
返回一个随机( constans.py 中定义的)颜色。
# 上色
Mobject
一般不使用颜色, VMobject
相关类才经常使用颜色。
VMobject
中涉及颜色有关的 style
有: stroke
fill
background_stroke
manim
中使用 RGBA
格式,所有还有 opacity
透明度这一设置。
.set_colr # 会将 stroke 和 fill 设置颜色,并保存 opacity 不变
.set_stroke # 只会改变线条颜色和透明度
.set_fill # 只会该表填充颜色和透明度
.set_background_stroke # 改变背景
.set_color_by_gradient # 传入多个颜色,可以给对象集合进行梯度上色
.set_color_by_radial_gradient(center,radius=2.7,inner_color=BLUE, outer_color=PINK) # 以中心(默认对象中心),半径多少,由内向外渐变颜色
# 渐变颜色
.set_sheen(0.5, RIGHT) # 向右渐变
.set_sheen_direction(UR) # 改变渐变方向
.set_color([RED, BLUE, GREEN]) # 传入颜色数组进行多少渐变
.set_color(PURPLE) # 从紫色渐变到透明
# 设置屏幕背景色
from manim import *
config.background_color = WHITE # 设置屏幕背景色
from manim import *
class LightThemeBanner(Scene):
def construct(self):
self.camera.background_color = "#ece6e2" # 设置屏幕背景色
上次更新: 2022/09/12, 23:05:31