gulp-lwip v0.1.2
gulp-lwip
Gulp.js plugin wrapping lwip image manipulation library.
Installation
You'll probably use this plugin together with gulp.js as build tool/task runner:
npm install --save-dev gulp-lwipNotes
The strong point of lwip is that it allows to manipulate images without external dependencies like ImageMagick or similar. However, this doesn't mean you won't need anything else: during the installation, source files will be compiled using node-gyp, which means Python and a C++ compiler will be used. In particular, Windows installations will need Visual Studio 2013 at least.
See node-gyp's page for more informations.
Usage
var lwip = require("gulp-lwip");
gulp.src("./src/images/*.jpg")
.pipe(lwip
.scale(.5)
.exportAs("png")
)
.pipe(gulp.dest("./assets/img/"));gulp-lwip's usage is similar to lwip's in batch mode, chaining the desired filters one after the other, together with their parameters. Basically every processing filter can be used like that (resize, blur, saturate and so on). paste is replaced by putImage (read later). Check lwip's documentation to further informations.
Getters like width or getPixel are, of course, not supported, while writeFile and toBuffer are replaced by exportAs(format, parameters). format can be one of the formats accepted by lwip (i.e., "jpg", "png" or "gif"), or null, meaning that the original format is used; the optional argument parameters is a plain object meant to provide specific parameters when outputting the image file. exportAs might not be the last method in the call chain.
Additional methods
rescale(width[, height][, inter])rescale, when given bothwidthandheight, works exactly likeresize. Whenheightis omitted, though, the picture is scaled to the givenwidthkeeping the image's aspect ratio, whereasresizewould produce square images. Similarly, whenwidth == nullandheightis a number, the picture is resized to the givenheightwith the same aspect ratio.putImage(left, top, image)This method takes the role of
paste.imagecan be either aBufferobject containing encoded image data, or a path pointing to an image file. The format is inferred from the content.
Tests
Tests are performed using mocha. Execute npm run test after installing the development dependencies, or just mocha if you have a compatible version installed globally.
License
MIT. See LICENSE for details.