config¶
- janim.utils.config.optional_type_validator(type, typename: str)¶
- class janim.utils.config.Config(*, fps: int = None, preview_fps: int = None, anti_alias_width: float = None, frame_height: float = None, frame_width: float = None, pixel_height: int = None, pixel_width: int = None, background_color: Color = None, font: str | Iterable[str] = None, subtitle_font: str | Iterable[str] = None, audio_framerate: int = None, audio_channels: int = None, wnd_pos: str = None, wnd_monitor: int = None, typst_bin: str = None, ffmpeg_bin: str = None, ffprobe_bin: str = None, output_dir: str = None, temp_dir: str = None, asset_dir: str | list[str] = None, client_search_port: int = None)¶
基类:
object配置
大部分的参数不作说明,稍微说明一下这些参数:
fps: 输出视频时的帧率preview_fps: 在预览窗口时的帧率在代码内设置
background_color时,不能使用background_color='#RRGGBB',应使用background_color=Color('#RRGGBB')output_dir以:开头时,表示相对于.py文件的路径,例如output_dir=':/videos'
基础用法¶
使用
Config.get.xxx得到属性,例如Config.get.fps则得到当前设置的帧率使用
with Config(key=value):在指定的配置下执行内容,例如:print(Config.get.fps) # 60 with Config(fps=120, pixel_width=1280): print(Config.get.fps) # 120 print(Config.get.pixel_width) # 1280 print(Config.get.pixel_height) # 1080
其中没有设置的属性则采用默认设置
default_config全局配置¶
在使用命令行参数时,使用
-c 配置名 值可以修改全局配置,设定的全局配置会覆盖其它配置例如
janim write your_file.py YourTimeline -c fps 120可以将渲染帧率设置为 120可以同时修改多个,例如:
janim write your_file.py YourTimeline -c fps 120 -c output_dir custom_dir
这个命令会将动画以 120 的帧率输出到
custom_dir这个指定的文件夹中时间轴配置¶
定义类变量
CONFIG,例如:class YourTimeline(Timeline): CONFIG = Config( fps=120, preview_fps=30 ) def construct(self) -> None: ...
这样则是设定这个时间轴的配置,渲染时帧率 120,预览(显示为窗口)时帧率 30
另见:
CONFIG- fps: int¶
- preview_fps: int¶
- anti_alias_width: float¶
- frame_height: float¶
- frame_width: float¶
- pixel_height: int¶
- pixel_width: int¶
- background_color: Color¶
- font: str | Iterable[str]¶
- subtitle_font: str | Iterable[str]¶
- audio_framerate: int¶
- audio_channels: int¶
- wnd_pos: str¶
- wnd_monitor: int¶
- typst_bin: str¶
- ffmpeg_bin: str¶
- ffprobe_bin: str¶
- output_dir: str¶
- temp_dir: str¶
- asset_dir: str | list[str]¶
- client_search_port: int¶
- janim.utils.config.is_power_plugged() bool¶
- janim.utils.config.default_config = Config(fps=60, preview_fps=60, anti_alias_width=0.015, frame_height=8.0, frame_width=14.222222222222221, pixel_height=1080, pixel_width=1920, background_color=<Color black>, font='Consolas', subtitle_font='', audio_framerate=44100, audio_channels=2, wnd_pos='OR', wnd_monitor=0, typst_bin='typst', ffmpeg_bin='ffmpeg', ffprobe_bin='ffprobe', output_dir='videos', temp_dir='/tmp/janim', asset_dir='', client_search_port=40565)¶
默认配置
其中:
preview_fps在接入电源时是 60,未接入时是 30temp_dir由操作系统决定
- janim.utils.config.cli_config = Config(fps=None, preview_fps=None, anti_alias_width=None, frame_height=None, frame_width=None, pixel_height=None, pixel_width=None, background_color=None, font=None, subtitle_font=None, audio_framerate=None, audio_channels=None, wnd_pos=None, wnd_monitor=None, typst_bin=None, ffmpeg_bin=None, ffprobe_bin=None, output_dir=None, temp_dir=None, asset_dir=None, client_search_port=None)¶
命令行配置
会被命令行
--config参数自动修改
- class janim.utils.config.ConfigGetter(config_ctx: list[Config] | None = None)¶
基类:
object与配置数据相关联的数据的获取
请仍然使用
Config.get.xxx来获取定义在该类中的内容- property aspect_ratio: float¶
- property frame_x_radius: float¶
- property frame_y_radius: float¶
- property pixel_to_frame_ratio: float¶
- property default_pixel_to_frame_ratio: float¶
- property left_side: Vect¶
- property right_side: Vect¶
- property bottom: Vect¶
- property top: Vect¶
- formated_output_dir(relative_path: str) str¶
将
:/path/to/file转换为相对于relative_path的路径