mirror of
https://github.com/sun-guannan/CapCutAPI.git
synced 2025-11-25 03:15:00 +08:00
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
"""定义特效/滤镜片段类"""
|
|
|
|
from typing import Union, Optional, List
|
|
|
|
from .time_util import Timerange
|
|
from .segment import Base_segment
|
|
from .video_segment import Video_effect, Filter
|
|
|
|
from .metadata import Video_scene_effect_type, Video_character_effect_type, Filter_type
|
|
|
|
class Effect_segment(Base_segment):
|
|
"""放置在独立特效轨道上的特效片段"""
|
|
|
|
effect_inst: Video_effect
|
|
"""相应的特效素材
|
|
|
|
在放入轨道时自动添加到素材列表中
|
|
"""
|
|
|
|
def __init__(self, effect_type: Union[Video_scene_effect_type, Video_character_effect_type],
|
|
target_timerange: Timerange, params: Optional[List[Optional[float]]] = None):
|
|
self.effect_inst = Video_effect(effect_type, params, apply_target_type=2) # 作用域为全局
|
|
super().__init__(self.effect_inst.global_id, target_timerange)
|
|
|
|
class Filter_segment(Base_segment):
|
|
"""放置在独立滤镜轨道上的滤镜片段"""
|
|
|
|
material: Filter
|
|
"""相应的滤镜素材
|
|
|
|
在放入轨道时自动添加到素材列表中
|
|
"""
|
|
|
|
def __init__(self, meta: Filter_type, target_timerange: Timerange, intensity: float):
|
|
self.material = Filter(meta.value, intensity)
|
|
super().__init__(self.material.global_id, target_timerange)
|