gulp-image-resize-ar
Fork of gulp-image-resize Resizing images made easy - thanks to GraphicsMagick or ImageMagick. Fork of grunt-image-resize.
Install
Install with npm
npm install --save-dev gulp-image-resize-ar
GraphicsMagick or ImageMagick
Make sure GraphicsMagick or ImageMagick is installed on your system and properly set up in your PATH
.
Ubuntu:
apt-get install imagemagickapt-get install graphicsmagick
Mac OS X (using Homebrew):
brew install imagemagickbrew install graphicsmagick
Windows & others:
http://www.imagemagick.org/script/binary-releases.php
Confirm that ImageMagick is properly set up by executing convert -help
in a terminal.
Example
var gulp = ;var imageResize = ; gulp;
API
imageResize(options)
options.width
Type: Number
Default value: 0
(only if height is defined)
A number pixel value that is the target width.
options.height
Type: Number
Default value: 0
(only if width is defined)
A number pixel value that is the target height.
options.upscale
Type: Boolean
Default value: false
Determines whether images will be upscaled. If set to false
(default), image will be copied instead of resized if it would be upscaled by resizing.
options.crop
Type: Boolean
Default value: false
Determines whether images will be cropped after resizing to exactly match options.width
and options.height
.
options.gravity
Type: String
Default value: Center
Possible values: NorthWest
, North
, NorthEast
, West
, Center
, East
, SouthWest
, South
, SouthEast
When cropping images this sets the image gravity. Doesn't have any effect, if options.crop
is false
.
options.quality
Type: Number
Default value: 1
Determines the output quality of the resized image. Ranges from 0
(really bad) to 1
(almost lossless). Only applies to jpg images.
options.format
Type: String
Default value: Format of the input file
Possible values: gif
, png
, jpeg
etc.
Override the output format of the processed file.
options.filter
Type: String
Possible values: Point
, Box
, Triangle
, Hermite
, Hanning
, Hamming
, Blackman
, Gaussian
, Quadratic
, Cubic
, Catrom
, Mitchell
, Lanczos
, Bessel
, Sinc
Set the filter to use when resizing (e.g. Catrom is very good for reduction, while hermite is good for enlargement).
options.sharpen
Type: Boolean
Default value: false
Set to true
to apply a slight unsharp mask after resizing.
options.samplingFactor
Type: Array[Cr, Cb]
Possible values: [2, 2]
for 4:2:2, [1, 1]
for 4:1:1
Define chroma subsampling
options.imageMagick
Type: Boolean
Default value: false
Set to true
when using ImageMagick instead of GraphicsMagick.
options.keepRatio
Type: Boolean
Default value: true
Set to false to change the aspect ratio when the new width and height don't match old aspect ratio. (options.crop needs to be set to false)
More Examples
// Converting from png to jpeg. No resizing.gulp; // Only specify one dimension. Output image won't exceed this value.gulp;
Recommended modules
- concurrent-transform: parallelize image resizing
var parallel = ;var os = ; gulp;
- gulp-changed: only resize changed images
var changed = ; gulp;
- gulp-rename: add a suffix or prefix
var rename = ; gulp;
Tests
- You need both ImageMagick and GraphicsMagick installed on your system to run the tests.
- Install all npm dev dependencies
npm install
- Install gulp globally
npm install -g gulp
- Run
gulp test
License
MIT © scalable minds