rgbas

class janim.components.rgbas.Cmpt_Rgbas(*args, **kwargs)

基类:Component, Generic

颜色组件

copy() Self
become(other: Cmpt_Rgbas) Self
not_changed(other: Cmpt_Rgbas) bool
classmethod align_for_interpolate(cmpt1: Cmpt_Rgbas, cmpt2: Cmpt_Rgbas)
interpolate(cmpt1: Cmpt_Rgbas, cmpt2: Cmpt_Rgbas, alpha: float, *, path_func=None) None
is_transparent() None
get() ndarray
static format_rgbas(rgbas: RgbaArray) ndarray

将传入值转换为数值数组

static format_colors(colors: ColorArray) ndarray

ColorArray (每个元素有可能是 字符串、[r, g, b] ) 格式化为元素仅有 [r, g, b] 的数值数组的格式

static format_alphas(alphas: AlphaArray) ndarray

将传入值转为数值数组

set_rgbas(rgbas: RgbaArray) Self

直接设置 rgba 数据

set(color: JAnimColor | ColorArray | None = None, alpha: Alpha | AlphaArray | None = None, *, root_only: bool = False) Self
  • colors 表示传入的 RGB 颜色数据,可以是单个颜色也可以颜色数组 (对于单个数据,支持 '#FF0000' 'red' [1, 0, 0.5] 的表示)

  • alphas 表示传入的透明度数据,可以是单个数也可以是一个数组 (对于单个数据,1 表示不透明,0 表示完全透明)

  • 默认情况下会将所有子物件也设置成指定的颜色,传入 root_only=True 可以只设置根物件的

特殊传参:

  • colors 为四分量 RGBA 颜色数据时, 则同时表示了 colorsalphas 二者,因此不能再传入 alphas 参数

clear() Self

将颜色数据重置为默认值

reverse() Self
resize(length: int) Self
count() int
apart_alpha(n: int) Self

对每一个颜色数据应用 apart_alpha()

fade(factor: float | Iterable[float], *, root_only: bool = False) Self
janim.components.rgbas.merge_alpha(alpha: float, n: int) float

计算透明度 alpha 在重叠 n 次混合后的透明度

janim.components.rgbas.apart_alpha(alpha: float, n: int, *, eps: float = 0.001) float

将透明度分离为 n 份,使得这 n 份混合后仍然表现为原来的透明度

使得在对齐时产生的重复部分能够更好地渲染