Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
gulp-image-resize
Advanced tools
Readme
Resizing images made easy - thanks to GraphicsMagick or ImageMagick. Fork of grunt-image-resize.
Install with npm
npm install --save-dev gulp-image-resize
Make sure GraphicsMagick or ImageMagick is installed on your system and properly set up in your PATH
.
Ubuntu:
apt-get install imagemagick
apt-get install graphicsmagick
Mac OS X (using Homebrew):
brew install imagemagick
brew 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.
var gulp = require('gulp');
var imageResize = require('gulp-image-resize');
gulp.task('default', function () {
gulp.src('test.png')
.pipe(imageResize({
width : 100,
height : 100,
crop : true,
upscale : false
}))
.pipe(gulp.dest('dist'));
});
Type: Number
Default value: 0
(only if height is defined)
A number value that is passed as pixel or percentage value to imagemagick.
Type: Number
Default value: 0
(only if width is defined)
A number value that is passed as pixel or percentage value to imagemagick.
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.
Type: Boolean
Default value: false
Determines whether images will be cropped after resizing to exactly match options.width
and options.height
.
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
.
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.
Type: String
Default value: Format of the input file
Possible values: gif
, png
, jpeg
etc.
Override the output format of the processed file.
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).
Type: Boolean | String
Default value: false
Set to true
to apply a slight unsharp mask after resizing.
Or set a string to setup the unsharp. See gm unsharp documentation. (e.g. '0.5x0.5+0.5+0.008')
Type: Array[Cr, Cb]
Possible values: [2, 2]
for 4:2:2, [1, 1]
for 4:1:1
Define chroma subsampling
Type: Boolean
Default value: false
Set to true
to enforce removal of all embedded profile data like icc, exif, iptc, xmp
and so on. If source files represent e.g. untouched camera data or images optimized for
print this may decrease image size drastically. Therefore this is probably wanted in
cases where thumbnails are generated for web preview purposes. For details look for parameter +profile "*" in the gm profile documentation.
Type: Boolean
Default value: false
Set to true
to create interlaced images (scanline interlacing) from PNG, GIF or JPEG files
(also known as "progressive" JPEG). For details look for parameter -interlace <type> with the type value set to
"Line" in the gm profile documentation.
Type: Boolean
Default value: false
Set to true
when using ImageMagick instead of GraphicsMagick.
Type: String
Possible values: none
to keep transparency, beige
to set beige background, #888
for gray.
Define background color (default is white), for example when converting SVG images to PNGs. See gm background documentation
Type: Boolean
Default value: false
Combines image layers into one. Can be used for layered formats such as PNG. See gm flatten documentation.
Type: Number
Default value: null
The value that you want the image to be scaled to.
Type: Boolean
Default value: false
Determines whether images should cover the area specified by the width and height options. If set to true
, the resized images will maintain aspect ratio by overflowing their dimensions as necessary, rather than treating them as maximum-size constraints.
// Converting from png to jpeg. No resizing.
gulp.task('convert_png', function () {
return gulp.src('test.png')
.pipe(imageResize({ format : 'jpeg' }))
.pipe(gulp.dest('dist'));
});
// Only specify one dimension. Output image won't exceed this value.
gulp.task('width', function () {
gulp.src('test.png')
.pipe(imageResize({
width : 100
}))
.pipe(gulp.dest('dist'));
});
// Convert with percentage value.
gulp.task('percentage', function() {
gulp.src('test.png')
.pipe(imageResize({
percentage: 50
}))
.pipe(gulp.dest('dist'));
});
var parallel = require("concurrent-transform");
var os = require("os");
gulp.task("parallel", function () {
gulp.src("src/**/*.{jpg,png}")
.pipe(parallel(
imageResize({ width : 100 }),
os.cpus().length
))
.pipe(gulp.dest("dist"));
});
var changed = require("gulp-changed");
gulp.task("changed", function () {
gulp.src("src/**/*.{jpg,png}")
.pipe(changed("dist"))
.pipe(imageResize({ width : 100 }))
.pipe(gulp.dest("dist"));
});
var rename = require("gulp-rename");
gulp.task("suffix", function () {
gulp.src("src/**/*.{jpg,png}")
.pipe(imageResize({ width : 100 }))
.pipe(rename(function (path) { path.basename += "-thumbnail"; }))
.pipe(gulp.dest("dist"));
});
npm install
npm install -g gulp
gulp test
MIT © scalable minds
FAQs
Resizing images made easy.
The npm package gulp-image-resize receives a total of 1,349 weekly downloads. As such, gulp-image-resize popularity was classified as popular.
We found that gulp-image-resize demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.