image-filter-core
v2.0.2
Published
Core module for image-filter
Downloads
397
Maintainers
Readme
image-filter-core
Small library that relies on webworkers to apply image transformations.
There are several modules that use image-filter-core
, such as:
- image-filters
- image-filter-brightness
- image-filter-contrast
- image-filter-grayscale
- image-filter-threshold
- image-filter-sepia
- image-filter-invert
- image-filter-gamma
- image-filter-colorize
But you can easily create your own transformation function and rely on image-filter-core
to handle the webworkers and to split the work.
Install
npm install image-filter-core --save
Methods
# getCanvas()
It returns a canvas with the given width and height
var imageFilterCore = require('image-filter-core');
var canvas = imageFilterCore.getCanvas(100, 100);
# convertImageDataToCanvasURL()
Given a ImageData it returns the dataURL
var imageFilterCore = require('image-filter-core');
var canvasURL = imageFilterCore.convertImageDataToCanvasURL(imageData);
# apply()
Provide the ImageData, the transformation function, the options to be passed to the transformation function and the number of workers to split the work.
var imageFilterCore = require('image-filter-core');
imageFilterCore.apply(data, transform, options, nWorkers)
.then(function (imageData) {
// Do whatever you want with imageData
});
The transform function receives ImageData, the length of data to transform and the options that the developer provided to image-fiter-core, example transformation function for the threshold effect:
function transform (data, length, options) {
for (var i = 0; i < length; i += 4) {
var r = data[i];
var g = data[i + 1];
var b = data[i + 2];
var v = (0.2126 * r + 0.7152 * g + 0.0722 * b >= options.threshold) ? 255 : 0;
data[i] = data[i + 1] = data[i + 2] = v;
}
}