aardio 文档

av.video 库模块帮助文档

说明

av.video - 动效工具:时间与运动(缓动/关键帧/弹簧/种子噪声)、颜色、帧缓冲

设计原则:不包装 gdip 绘图原语,只补 gdip 没有的东西。 帧是时间的纯函数 f(t):这里所有函数都不累积状态,随机数全部来自种子(任意帧可随机访问、可重复)。

av.video 成员列表 #

av.video.animated(v) #

v 是否随时间变化(关键帧或函数)

av.video.argb(r,g,b,a) #

合成 0xAARRGGBB 颜色

av.video.beat(bpm,n) #

第 n 拍的时刻(秒)

av.video.color(v) #

解析颜色:"#RRGGBB"、"#AARRGGBB"、"#RGB" 或数值(0xRRGGBB 视为不透明)

av.video.contrast(c1,c2) #

WCAG 对比度 1~21

av.video.decay(t,freq,damping) #

衰减振荡 0→摆动→0,用于落地挤压、晃动

av.video.ease(name,t) #

按名称取缓动函数(忽略大小写,可省略 ease 前缀),指定 t 则返回缓动后的值;
未知名称报错并列出可选值

av.video.easing #

缓动函数表(Penner 名称:linear,easeInQuad,easeOutCubic,easeOutBack,easeOutElastic,easeOutBounce 等)

av.video.fade(c,a) #

把颜色的 alpha 乘以 a

av.video.frame(width,height) #

创建帧缓冲:自有内存的 PARGB 位图,
gdip 画在 bitmap 上即写进 buffer,像素内核直接处理 buffer

返回对象:avVideoFrameObject

av.video.hash(i,seed) #

32 位整数哈希

av.video.keyframes(kfs,t) #

关键帧插值,kfs 为 {{t,v[,ease]},...},段的缓动写在段末点(默认 easeInOutSine)

av.video.luminance(c) #

相对亮度 0~1

av.video.mixColor(c1,c2,t) #

颜色插值

av.video.noise(x,seed) #

一维平滑噪声 [-1,1]

av.video.progress(v,a,b) #

把 v 从 [a,b] 映射到 [0,1] 并截断。
截断到任意区间、线性插值用内置的 math.clamp、math.lerp

av.video.random(seed,i) #

[0,1) 种子随机数,同一 seed,i 总是同一个值

av.video.randomRange(seed,i,a,b) #

[a,b) 种子随机数

av.video.rgba(c) #

拆成 r,g,b,a

av.video.smoothstep(a,b,v) #

平滑阶跃 0~1

av.video.snap(t,fps) #

对齐到最近的帧

av.video.spring(t,freq,damping) #

弹簧从 0 到 1 的解析解,freq 默认 2Hz,damping 阻尼比默认 0.5

av.video.u32(x) #

把位运算得到的有符号 32 位数转成无符号

av.video.value(v,t,def) #

求值:v 可为数值、关键帧表或 function(t),v 为 null 返回 def

av.video.wiggle(t,freq,amp,seed) #

平滑抖动:freq 每秒变化次数,amp 幅度

avVideoFrameObject 成员列表 #

avVideoFrameObject.bitmap #

gdip.bitmap 对象

返回对象:gdipbitmapObject

avVideoFrameObject.buffer #

像素内存(自上而下 BGRA,预乘 alpha)

avVideoFrameObject.clear(argb) #

用颜色清空

avVideoFrameObject.delete() #

释放

avVideoFrameObject.flush() #

让 GDI+ 完成所有绘图,像素内核读写 buffer 前调用

avVideoFrameObject.graphics #

gdip.graphics 画板(已设 8×8 抗锯齿、像素中心 +0.5)

返回对象:gdipgraphicsObject

avVideoFrameObject.height #

高(像素)

avVideoFrameObject.save(path,quality) #

存为图片

avVideoFrameObject.stride #

步幅(字节)

avVideoFrameObject.width #

宽(像素)

Markdown 格式