# image-animator 2+

图片帧动画播放器。

# 属性

支持通用属性还支持如下属性:

名称 类型 默认值 必填 描述
images Array<ImageFrame> - 设置图片帧信息集合。每一帧的帧信息包含图片路径、图片大小和图片位置信息。目前支持的图片格式为 png。
iteration number | string infinite 设置帧动画播放次数。number 表示固定次数,infinite 枚举表示无限次数播放。
reverse boolean false 设置播放顺序。false 表示从第 1 张图片播放到最后 1 张图片; true 表示从最后 1 张图片播放到第 1 张图片。
fixedsize boolean true 设置图片大小是否固定为组件大小。true 表示图片大小与组件大小一致,此时设置图片的 width 、height 、top 和 left 属性是无效的。false 表示每一张图片的独设置。
duration String - 每一帧图片的播放时长,单位支持[s(秒)或者 ms(毫秒)],默认单位为 ms。示例:'1000ms'
fillmode String forwards 指定帧动画执行结束后的状态。可选项有:none:恢复初始状态。forwards:保持帧动画结束时的状态
poster String first 设置帧动画不执行时的展示。可选项有:first:展示第一帧图片;last:展示最后一帧图片

ImageFrame 说明

名称 类型 默认值 必填 描述
src <uri> - 图片路径,图片格式为 png。
width <length> 0 图片宽度。示例:'100px'
height <length> 0 图片高度。 示例:'100px'
top <length> 0 图片相对于组件左上角的纵向坐标。示例:'100px'
left <length> 0 图片相对于组件左上角的横向坐标。 示例:'100px'
duration Number - 每一帧图片的播放时长,单位毫秒。示例:100

# 样式

支持通用样式

# 支持如下方法

名称 参数 描述
start - 开始播放图片帧动画。再次调用,重新从第 1 帧开始播放。
pause - 暂停播放图片帧动画。
stop - 停止播放图片帧动画。
resume - 继续播放图片帧。
getState - 获取播放状态。playing:播放中。paused:已暂停 stopped:已停止。

# 示例

<template>
  <div class="container">
    <image-animator class="animator" id="animator" images="{{frames}}" />
    <div class="btn-box">
      <input class="btn" type="button" value="start" onclick="handleStart" />
      <input class="btn" type="button" value="stop" onclick="handleStop" />
      <input class="btn" type="button" value="pause" onclick="handlePause" />
      <input class="btn" type="button" value="resume" onclick="handleResume" />
    </div>
  </div>
</template>

<script>
  export default {
    data: {
      frames: [
        {
          src: '/common/asserts/heart78.png',
        },
        {
          src: '/common/asserts/heart79.png',
        },
      ],
    },
    onReady() {
      let state = this.$element('animator').getState()

      switch (state) {
        case 'playing':
          //实现具体的业务逻辑
          break
        case 'paused':
          //实现具体的业务逻辑
          break
        case 'stopped':
          //实现具体的业务逻辑
          break
      }
    },
    handleStart() {
      this.$element('animator').start()
    },
    handlePause() {
      this.$element('animator').pause()
    },
    handleResume() {
      this.$element('animator').resume()
    },
    handleStop() {
      this.$element('animator').stop()
    },
  }
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
image-animator组件
图片帧动画播放器。
基础用法
```html ```
复制代码
图标 图标
图标 图标
图标
设计尺寸:750X750