All Projects → gre → kenburns

gre / kenburns

Licence: ISC license
Ken Burns effect for DOM, Canvas2D, WebGL

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to kenburns

Flutter-KenBurns
Kenburns effect on flutter
Stars: ✭ 82 (+38.98%)
Mutual labels:  kenburns
Arclayout
With Arc Layout explore new styles and approaches on material design
Stars: ✭ 1,662 (+2716.95%)
Mutual labels:  kenburns
APKenBurnsView
Ken Burns effect with face recognition!
Stars: ✭ 93 (+57.63%)
Mutual labels:  kenburns

kenburns

kenburns provides a Ken Burns Effect on an image.

Kenburns currently have implementations for Canvas 2D, Canvas WebGL, and vanilla DOM.

npm install --save kenburns

or standalone version (window.KenBurns).

Usage

You can specifically import only one implementation:

import KenBurnsDOM from "kenburns/lib/DOM";
import KenBurnsWebGL from "kenburns/lib/WebGL";
import KenBurnsCanvas2D from "kenburns/lib/Canvas2D";

Or import them all (leads to more dependencies in your bundle):

import KenBurns from "kenburns";
// KenBurns.DOM , KenBurns.WebGL , KenBurns.Canvas2D
// KenBurns.Canvas is also a variant that feature detect WebGL or Canvas2D

API

Quick DOM example:

import KenBurnsDOM from "kenburns/lib/DOM";
import rectCrop from "rect-crop";
import bezierEasing from "bezier-easing";
const image = new Image();
image.src = "http://i.imgur.com/Uw2EQEk.jpg";
image.onload = () => {
  var div = document.createElement("div");
  document.body.appendChild(div);
  div.style.width = "400px";
  div.style.height = "400px";
  var kenBurns = new KenBurnsDOM(div);
  kenBurns.animate(
    image,
    rectCrop(0.4, [0.15, 0.38]),
    rectCrop.largest,
    5000,
    bezierEasing(0.6, 0.0, 1.0, 1.0)
  );
};

There is also KenBurnsWebGL (WebGL implementation) and KenBurnsCanvas2D (Canvas2D implementation).

Example

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].