StackBlur.js is a fast, almost Gaussian blur created by Mario Klingemann.
- More informations: http://incubator.quasimondo.com/processing/fast_blur_deluxe.php
- Demo: http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html
Original source:
To use the standalone version,
download the latest zip from Github or clone the repository
git clone git@github.com:flozz/StackBlur.git
and include the dist/stackblur.js
or dist/stackblur.min.js
file in your HTML page:
<script src="StackBlur/dist/stackblur.js"></script>
To use the NPM package,
install the package
npm install --save stackblur-canvas
and require it where needed
var StackBlur = require("stackblur-canvas");
To use the Bower package,
Install the package
bower install stackblur-canvas
and include the dist/stackblur.js
or dist/stackblur.min.js
file in your HTML page:
<script src="bower_components/stackblur-canvas/dist/stackblur.js"></script>
Image as source:
StackBlur.image(sourceImage, targetCanvas, radius, blurAlphaChannel);
sourceImage
: theHTMLImageElement
or itsid
.targetCanvas
: theHTMLCanvasElement
or itsid
.radius
: the radius of the blur.blurAlphaChannel
: Set it totrue
if you want to blur a RGBA image (optional, default =false
)
RGBA Canvas as source:
StackBlur.canvasRGBA(targetCanvas, top_x, top_y, width, height, radius);
targetCanvas
: theHTMLCanvasElement
.top_x
: the horizontal coordinate of the top-left corner of the rectangle to blur.top_y
: the vertical coordinate of the top-left corner of the rectangle to blur.width
: the width of the rectangle to blur.height
: the height of the rectangle to blur.radius
: the radius of the blur.
RGB Canvas as source:
StackBlur.canvasRGB(targetCanvas, top_x, top_y, width, height, radius);
targetCanvas
: theHTMLCanvasElement
.top_x
: the horizontal coordinate of the top-left corner of the rectangle to blur.top_y
: the vertical coordinate of the top-left corner of the rectangle to blur.width
: the width of the rectangle to blur.height
: the height of the rectangle to blur.radius
: the radius of the blur.
RGBA ImageData as source:
StackBlur.imageDataRGBA(imageData, top_x, top_y, width, height, radius);
imageData
: the canvas'ImageData
.top_x
: the horizontal coordinate of the top-left corner of the rectangle to blur.top_y
: the vertical coordinate of the top-left corner of the rectangle to blur.width
: the width of the rectangle to blur.height
: the height of the rectangle to blur.radius
: the radius of the blur.
RGB ImageData as source:
StackBlur.imageDataRGB(imageData, top_x, top_y, width, height, radius);
imageData
: the canvas'ImageData
.top_x
: the horizontal coordinate of the top-left corner of the rectangle to blur.top_y
: the vertical coordinate of the top-left corner of the rectangle to blur.width
: the width of the rectangle to blur.height
: the height of the rectangle to blur.radius
: the radius of the blur.
This library is built using Grunt. If you change somthing in the src/
folder, use the following command to re-build the files in the dist/
folder:
grunt
- 1.4.1: Moves
grunt-cli
todevDependencies
(#23) - 1.4.0: Allows the lib to be used with node-canvas
- 1.3.0: TypeScript typings added
- 1.2.1: Includes built files in the NPM packgage
- 1.2.0: Remove alerts and obsolete
netscape.security.PrivilegeManager
- 1.1.0: Allow blur to be applied to
ImageData
directly (thanks @WebSeed) - 1.0.0: First Release