马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不二如是 于 2022-12-16 18:45 编辑
这节课我们看如何在 Manim 中进行颜色修改。
重点:
- 十六进制+set_color
- rgb_to_color()
- hex_to_rgb()
- rgb_to_hex()
- HSL()
十六进制
Manim 中默认支持 16 进制的颜色写法,缩写也可以。
可以直接通过 color 参数设置,也可以通过 set_color() 设置颜色:
color1 = "#2ebb96"
color2 = "#3AF"
circle = Dot(color=color1).scale(3)
text = Text("FishC")
text.set_color(color2)
self.add(circle, text)
效果:
color1 是完成的十六进制颜色写法,color2 是缩写。
如果相邻两位相同 AABBCC 这种,就可以写成 #ABC。
可以通过 hex_to_rgb() 将十六进制转成 RGB 数据:
输出:
[0.13333333 0.66666667 1. ]
反之通过 rgb_to_hex() 可以将 RGB 转成十六进制:
rgb_to_hex([0.13333333,0.66666667,1])
结果就是 #22aaff。
RGB
RGB 三原色可以用数组表示 rgb_to_color[RED,GREEN,BLUE]):
color3 = rgb_to_color([0.8, 1, 0])
circle = Dot(color=color3).scale(3)
效果:
列表中第一位表示 0.8*RED 的红色,依次是 1*GREEN 和 0*BLUE。
HSL
如果需要 HSL 格式,可以这么用:
from colour import Color
def HSL(hue,saturation,lightness=0.5):
return Color(hsl=(hue,saturation,lightness))
myGreen = HSL(120/360)
circle.set_color(myGreen)
需要依赖 Color 模块才行,大家按需使用~
此外 Manim 中默认也有一些颜色,大家可以直接调用:
_A,_B 这些表示明亮度,不指定的话,默认都是 _C。
好啦,Manim 中所有玩法操作就是这样了。
|