an image pixelating JavaScript library
The main demo uses vanilla JavaScript and presents a few images with example manipulations using the library.
There is also a demo using the jQuery plugin and Green Sock Tween in order to animate the pixelating effect, see the original blog post for more information.
The blog post includes a write up of the build process and thought process used for version 1. Version 2 was a full re-factor but the logic used is still the same.
The library can be installed from npm
npm install --save pixel-flow
let images = Array.from(document.querySelectorAll('img'))
let pixelFlows = images.map((img) => new PixelFlow(img, { resolution: 32 }))
// be aware, creating the pixelate images removes the images from the DOM
// then you can manipulate individual PixelFlow instances
// wait 5 seconds
setTimeout(() => {
pixelFlows.forEach((pixelFlow) => {
// animate the pixelated images back to normal over 2 seconds
pixelFlow.simpleanimate(0, 2)
})
}, 5000)
The jQuery plugin can be installed from npm as well.
npm install --save pixel-flow jquery
This library does not come with jQuery packaged, you must install separately.
import $ from 'jquery'
import 'pixel-flow/jquery'
// Converts the image to a pixelated image at 32 pixel resolution
var $pixel = $('img').first().PixelFlow({ resolution: 32 })
// Runs animation on that same image to return to base image.
// Notice I'm selecting the canvas that replaced the image.
$('canvas').first().PixelFlow('simpleanimate', 0, 2000)
// You should use the original returned reference since the
// element is no longer an img element but a canvas
$pixel.PixelFlow('update', { resolution: 32 })
// or you can access the instance directly by fetching it from
// the jQuery data on the $pixel
var pixel = $pixel.data('plugin_PixelFlow')
pixel.rebase()