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 格式