A JIMP wrapper for Gulp. Provides a configuration for the full set of JIMP features, handles multiple image outputs, works purely with image buffers and deals with the Gulp stream properly. Install with:
npm install gulp-jimp
The configuration takes a set of objects with the configuration:
suffix: { // If the suffix is '-1', then 'source.jpg' -> 'source-1.jpg'
modifiers, // Crop, Invert, Flip, Gaussian, Blur, Greyscale, Sepia, etc.
type // BMP, Bitmap, JPG or JPEG. Case unnecessary and anything else is PNG.
},
For example:
var gulp = require('gulp'),
jimp = require('gulp-jimp');
gulp.task('default', function () {
gulp.src('logo.png').pipe(jimp({
'-1': {
crop: { x: 100, y: 100, width: 200, height: 200 },
invert: true,
flip: { horizontal: true, vertical: true },
gaussian: 2,
blur: 2,
greyscale: true,
sepia: true,
opacity: 0.5,
},
'-2': {
resize: { width: 100, height: 100 },
scale: 1.2,
rotate: 90,
brightness: 0.5,
contrast: 0.3,
type: 'bitmap'
},
'-3': {
posterize: 2,
dither565: true,
background: '#ff0000',
type: 'jpg'
}
})).pipe(gulp.dest('./images/'));
});
This will output the following files:
logo-1.png
logo-2.png
logo-3.png
If you need an ES5 build for legacy purposes, just require the ES5 file:
var jimp = require('gulp-jimp/es5');
To build the ES5 version:
npm install -g babel-cli
babel --presets es2015 index.js --out-file es5.js