gulp-lwip
v0.1.2
Published
Gulp plugin for image manipulation with lwip
Downloads
6
Maintainers
Readme
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-lwip
Notes
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 bothwidth
andheight
, works exactly likeresize
. Whenheight
is omitted, though, the picture is scaled to the givenwidth
keeping the image's aspect ratio, whereasresize
would produce square images. Similarly, whenwidth == null
andheight
is a number, the picture is resized to the givenheight
with the same aspect ratio.putImage(left, top, image)
This method takes the role of
paste
.image
can be either aBuffer
object 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.