├── .travis.yml ├── static └── wx.jpg ├── demos ├── imgarr │ ├── imgs │ │ ├── 1.jpg │ │ ├── 10.jpg │ │ ├── 11.jpg │ │ ├── 12.jpg │ │ ├── 13.jpg │ │ ├── 14.jpg │ │ ├── 15.jpg │ │ ├── 16.jpg │ │ ├── 17.jpg │ │ ├── 18.jpg │ │ ├── 19.jpg │ │ ├── 2.jpg │ │ ├── 20.jpg │ │ ├── 21.jpg │ │ ├── 22.jpg │ │ ├── 23.jpg │ │ ├── 24.jpg │ │ ├── 25.jpg │ │ ├── 26.jpg │ │ ├── 27.jpg │ │ ├── 28.jpg │ │ ├── 29.jpg │ │ ├── 3.jpg │ │ ├── 30.jpg │ │ ├── 31.jpg │ │ ├── 32.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ └── 9.jpg │ ├── imgs2 │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ ├── 9.jpg │ │ ├── 10.jpg │ │ ├── 11.jpg │ │ ├── 12.jpg │ │ ├── 13.jpg │ │ ├── 14.jpg │ │ ├── 15.jpg │ │ ├── 16.jpg │ │ ├── 17.jpg │ │ ├── 18.jpg │ │ ├── 19.jpg │ │ ├── 20.jpg │ │ ├── 21.jpg │ │ ├── 22.jpg │ │ ├── 23.jpg │ │ ├── 24.jpg │ │ ├── 25.jpg │ │ ├── 26.jpg │ │ ├── 27.jpg │ │ ├── 28.jpg │ │ ├── 29.jpg │ │ ├── 30.jpg │ │ ├── 31.jpg │ │ ├── 32.jpg │ │ ├── 33.jpg │ │ ├── 34.jpg │ │ ├── 35.jpg │ │ ├── 36.jpg │ │ ├── 37.jpg │ │ ├── 38.jpg │ │ ├── 39.jpg │ │ └── 40.jpg │ ├── index.html │ └── index2.html ├── sprite │ ├── img │ │ ├── 1.png │ │ └── 2.png │ ├── imgs │ │ └── 1.jpg │ ├── c1l1frame.jpg │ ├── index-ratio1.html │ ├── index-ratio2.html │ └── index-sprite.html ├── requireJs │ └── index.html └── libs │ └── vconsole.min.js ├── .gitignore ├── test └── index.js ├── gulpfile.js ├── script.sh ├── package.json ├── readMe.md ├── dist └── canvas-keyframes.min.js ├── readeMe_EN.md └── src └── canvas-keyframes.js /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "4.2" 4 | sudo: false -------------------------------------------------------------------------------- /static/wx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/static/wx.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/1.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/10.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/11.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/12.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/13.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/14.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/15.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/16.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/17.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/18.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/19.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/2.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/20.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/21.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/22.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/23.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/24.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/25.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/26.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/26.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/27.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/27.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/28.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/28.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/29.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/3.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/30.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/30.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/31.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/31.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/32.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/32.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/4.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/5.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/6.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/7.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/8.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs/9.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/1.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/2.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/3.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/4.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/5.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/6.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/7.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/8.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/9.jpg -------------------------------------------------------------------------------- /demos/sprite/img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/sprite/img/1.png -------------------------------------------------------------------------------- /demos/sprite/img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/sprite/img/2.png -------------------------------------------------------------------------------- /demos/sprite/imgs/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/sprite/imgs/1.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/10.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/11.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/12.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/13.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/14.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/15.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/16.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/17.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/18.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/19.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/20.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/21.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/22.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/23.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/24.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/25.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/26.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/26.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/27.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/27.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/28.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/28.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/29.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/30.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/30.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/31.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/31.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/32.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/32.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/33.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/33.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/34.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/34.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/35.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/35.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/36.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/36.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/37.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/37.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/38.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/38.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/39.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/39.jpg -------------------------------------------------------------------------------- /demos/imgarr/imgs2/40.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/imgarr/imgs2/40.jpg -------------------------------------------------------------------------------- /demos/sprite/c1l1frame.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wenyiweb/canvasKeyFrames/HEAD/demos/sprite/c1l1frame.jpg -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | zl 4 | # Editor directories and files 5 | .idea 6 | .vscode 7 | *.suo 8 | *.ntvs* 9 | *.njsproj 10 | *.sln 11 | package-lock.json -------------------------------------------------------------------------------- /test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | require('should'); 3 | const CanvasKeyframes = require('../src/canvas-keyframes'); 4 | 5 | describe('CanvasKeyframes Test', () => { 6 | it('should get "CanvasKeyframes"', () => { 7 | console.log(CanvasKeyframes) 8 | }); 9 | }); -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var uglify = require('gulp-uglify'); 3 | var pipeline = require('readable-stream').pipeline; 4 | var rename = require("gulp-rename"); 5 | gulp.task('compress', function () { 6 | return pipeline( 7 | gulp.src('src/canvas-keyframes.js'), 8 | uglify(), 9 | rename({ suffix: '.min' }), 10 | gulp.dest('dist') 11 | ); 12 | }); -------------------------------------------------------------------------------- /script.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | git filter-branch --env-filter ' 3 | OLD_EMAIL="kevin.yang@all-dream.com" 4 | CORRECT_NAME="wenyiweb" 5 | CORRECT_EMAIL="yangwenyi0@126.com" 6 | if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ] 7 | then 8 | export GIT_COMMITTER_NAME="$CORRECT_NAME" 9 | export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" 10 | fi 11 | if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ] 12 | then 13 | export GIT_AUTHOR_NAME="$CORRECT_NAME" 14 | export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL" 15 | fi 16 | ' --tag-name-filter cat -- --branches --tags -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "canvaskeyframes", 3 | "version": "0.4.2", 4 | "description": "The simplest sequence frame animation plugin of canvas .", 5 | "main": "./src/canvas-keyframes.js", 6 | "scripts": { 7 | "test": "./node_modules/.bin/_mocha", 8 | "build": "gulp compress" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/wenyiweb/canvasKeyFrames.git" 13 | }, 14 | "keywords": [ 15 | "canvas", 16 | "animation", 17 | "keyframe" 18 | ], 19 | "author": "kevin", 20 | "license": "MIT", 21 | "bugs": { 22 | "url": "https://github.com/wenyiweb/canvasKeyFrames/issues" 23 | }, 24 | "homepage": "https://github.com/wenyiweb/canvasKeyFrames#readme", 25 | "devDependencies": { 26 | "gulp": "^4.0.1", 27 | "gulp-rename": "^1.4.0", 28 | "gulp-uglify": "^3.0.2", 29 | "mocha": "^5.0.5", 30 | "readable-stream": "^3.3.0", 31 | "should": "^13.2.1" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /demos/sprite/index-ratio1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Document 6 | 7 | 11 | 12 | 13 |
14 | 15 |
16 | 17 | 18 | 48 | 49 | -------------------------------------------------------------------------------- /demos/sprite/index-ratio2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Document 6 | 7 | 11 | 12 | 13 |
14 | 15 |
16 | 17 | 18 | 48 | 49 | -------------------------------------------------------------------------------- /demos/sprite/index-sprite.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Document 6 | 7 | 11 | 12 | 13 |
14 | 15 |
16 | 17 | 18 | 48 | 49 | -------------------------------------------------------------------------------- /demos/imgarr/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Document 6 | 7 | 11 | 12 | 13 |
14 | 15 |
16 | 17 | 18 | 54 | 55 | -------------------------------------------------------------------------------- /demos/imgarr/index2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Document 6 | 7 | 11 | 12 | 13 |
14 | 15 |
16 | 17 | 18 | 19 | 55 | 56 | -------------------------------------------------------------------------------- /demos/requireJs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Document 6 | 7 | 11 | 12 | 13 |
14 | 15 |
16 | 17 | 25 | 58 | 59 | -------------------------------------------------------------------------------- /readMe.md: -------------------------------------------------------------------------------- 1 | # CanvasKeyFrames - HTML5 Canvas 图片序列帧播放工具[![npm][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] 2 | 3 | [English Version](./readeMe_EN.md) 4 | 5 | # CanvasKeyFrames 6 | 7 | 图片序列帧播放工具,用canvas操作图片动画,封装了常用方法。 8 | 9 | 10 | * el [canvas容器,必须是DOM对象] 11 | * type [图片模式,'array'和 'sprite'模式,array是图片对象数组,sprite是基于宽度扩展的单张雪碧图] 12 | * imgs [图片帧对象数组或单图,对应不同模式] 13 | * options {\ 14 | cover: 10, //指定封面帧,默认是0 \ 15 | fps: 30, //默认是24\ 16 | loop: 10 //初始化默认的循环次数,可以手动设置大于等于1的整数。在formTo中可以设置。默认是infinite。\ 17 | width: 300, //注意,隐藏元素是拿不到宽度的,所以特殊情况下需要指定宽度\ 18 | height: 300,\ 19 | _iw: 300, // 雪碧图中单个图片的宽度\ 20 | _ih: 300, // 雪碧图中单个图片的高度\ 21 | framesCount: 10 // 雪碧图帧数\ 22 | } 23 | 24 | ## API 25 | 26 | ### CanvasKeyFrames(el, type, imgs, options) 27 | 28 | - `el` canvas容器,必须是DOM对象 29 | - `type` 图片模式,'array'和 'sprite'模式,array是图片对象数组,sprite是基于宽度扩展的单张雪碧图 30 | - `imgs` 图片帧对象数组或单图,对应不同模式 31 | - `options` 32 | - `cover` 指定封面帧,默认是0 33 | - `fps` 默认是24 34 | - `loop` 初始化默认的循环次数,可以手动设置大于等于1的整数。在formTo中可以设置。默认是infinite。 35 | - `width` 隐藏元素是拿不到宽度的,所以特殊情况下需要指定宽度 36 | - `height` 隐藏元素是拿不到宽度的,所以特殊情况下需要指定宽度 37 | - `_iw` 雪碧图中单个图片的宽度 38 | - `_ih` 雪碧图中单个图片的高度 39 | - `framesCount` 雪碧图帧数 40 | 41 | 42 | ### Install 43 | 44 | * base 45 | 46 | your html 47 | 48 | ```html 49 | 50 | 51 | ``` 52 | 53 | * npm 54 | 55 | ```bash 56 | npm i canvaskeyframes 57 | ``` 58 | 59 | your app.js 60 | 61 | ```javascript 62 | 63 | import CanvasKeyFrames from 'canvaskeyframes' 64 | 65 | ``` 66 | 67 | 68 | ### 方法介绍 69 | 70 | ##### goto(n) 跳转到某一帧 71 | ##### next() 下一帧 72 | ##### prev() 上一帧 73 | ##### fromTo(from, to, loop, callback) 74 | ` 75 | from [启始帧(从0开始)] 76 | to [结束帧数] 77 | loop [循环次数,默认是infiniten] 78 | callback [回调函数] 79 | ` 80 | ##### toFrom(to, from, loop, callback) 81 | ` 82 | to [启始帧(从高位开始)] 83 | from [结束帧数(从低位结束)] 84 | loop [循环次数,默认是infiniten] 85 | callback [回调函数] 86 | ` 87 | ##### repeatplay(from, to, loop, callback) 88 | ` 89 | fromto正着播一遍,然后回调fromBack,倒着播一遍,然后再回调toBack,进行逻辑判断 90 | from [启始帧(从0开始)] 91 | to [结束帧数] 92 | loop [循环次数,默认是infinite正播过去,再倒播回来] 93 | callback [回调函数] 94 | ` 95 | ##### from(from, loop, callback) 96 | ` 97 | from [启始帧(从0开始)] 98 | loop [循环次数,默认是infinite] 99 | callback [回调函数] 100 | ` 101 | ##### to(to, loop, callback) 102 | ` 103 | to [结束帧数] 104 | loop [循环次数,默认是infinite] 105 | callback [回调函数] 106 | ` 107 | ##### pause() 暂停动画 108 | ##### stop() 停止并回到第一帧或cover帧 109 | ##### play() 从当前位置播放动画,会继承上次使用fromTo、form或to的属性 110 | ##### destroy() 销毁对象 111 | 112 | ## 前端学习交流群,QQ群 : 692337464 113 | ## ![](https://github.com/wenyiweb/vuejs-fujun/blob/master/static/imgs/qq.png) 114 | 115 | ## 觉得有用,请我喝杯咖啡吧~ 116 | ## ![](/static/wx.jpg) 117 | 118 | ## License 119 | 120 | [MIT License](http://en.wikipedia.org/wiki/MIT_License) 121 | 122 | 123 | 124 | [travis-image]: https://api.travis-ci.org/wenyiweb/canvasKeyFrames.svg?branch=master 125 | [travis-url]: https://travis-ci.org/wenyiweb/canvasKeyFrames 126 | 127 | [npm-image]: https://img.shields.io/npm/v/canvaskeyframes.svg?style=flat-square 128 | [npm-url]: https://www.npmjs.com/package/canvaskeyframes 129 | -------------------------------------------------------------------------------- /dist/canvas-keyframes.min.js: -------------------------------------------------------------------------------- 1 | !function(){"use strict";function t(t,i,s,o){if(!t||!s)throw new Error("el和imgs是必填参数");if("array"!==i&&"sprite"!==i)throw new Error('只支持"array"和"sprite"模式');this.el=t,this.mode=i,this.imgs=s,this.imgsLen=null,this.canvas=null,this.ctx=null,this.timer=null,this.state="stop",this.infinite=1e9,this.ispause=!1,this.plusNum=0,this.plusCount=0;var e={cover:this.count=0,fps:24,loop:"infinite",ratio:1};this.options=o||e,this.options.cover=o.cover||e.cover,this.options.fps=o.fps||e.fps,this.options.loop=o.loop||e.loop,this.options.ratio=o.ratio||e.ratio,this.recordFrom=0,this.recordTo=null,this.recordInf=this.options.loop,function(t){if(function(t){var i=document.createElement("canvas");i.width=2*t.options.width||t.el.clientWidth,i.height=2*t.options.height||t.el.clientHeight,i.style.display="block",i.style.width="100%",i.style.height="100%",t.ctx=i.getContext("2d"),t.el.appendChild(i),t.canvas=i}(t),"array"===t.mode)t.imgsLen=t.imgs.length;else if("sprite"===t.mode){t.wt=t.imgs.width/t.options._iw,t.ht=t.imgs.height/t.options._ih;for(var i=[],s=0;s=this.imgsLen?0:this.count+1;this.goto(t)},prev:function(){var t=this.count-1<=0?this.imgsLen-1:this.count-1;this.goto(t)},fromTo:function(t,i,s,o){var e=this;clearInterval(this.timer);function n(){if(!e.ispause)return e.plusNum<=e.plusCount?(clearInterval(e.timer),e.timer=null,e.plusNum=0,e.plusCount=0,e.state="stop",void(o&&o())):(i