export interface IOption { useBitmap: boolean, useWorker: boolean } /** * * @param url * @param option */ export function loadSvga(url: string, option?: IOption): Promise; /** * 加载方法 * @param url 资源路径 * @param success * @param failure * @param option */ export function loadSvga(url: string, success: (videoItem: VideoEntity) => void, failure?: (err: string) => void, option?: IOption): Promise; /** * * @param ab * @param option */ export function parseSvga(ab: ArrayBuffer, option?: IOption): Promise; /** * 解析方法,传ArrayBuffer * @param ab ArrayBuffer * @param success * @param failure * @param option */ export function parseSvga(ab: ArrayBuffer, success?: (videoItem: VideoEntity) => void, failure?: (err: string) => void, option?: IOption): Promise; /** * 导出只是当作类型接口用 */ export interface VideoEntity { /** * SVGA 文件版本 */ version: string; /** * 影片尺寸 */ videoSize: { width: number; height: number; }; /** * 帧率,60,30等每秒 */ FPS: number; /** * 总帧数 */ frames: number; /** * base64图片数据记录 */ images: { [key: string]: string | ImageBitmap }; /** * sprite对象数据 */ sprites: SpriteEntity[]; } interface SpriteEntity { /** * 图片key值 */ imageKey: string; /** * 帧数据数组 */ frames: FrameEntity[]; } /** * 还有很多其他数据,暂不需要,比如矢量路径和遮罩路径暂时都无 */ interface FrameEntity { /** * 透明度 */ alpha: number; /** * 2维矩阵数据 */ transform: { a: number, b: number, c: number, d: number, tx: number, ty: number, }; maskPath?: { d: string, styles: any, transform: any } }