Get the width and height of an image in node.js
Solution 1:
Installing GraphicsMagick
or ImageMagick
isn't at all needed, determining the dimensions of a image is as easy as looking at the header. image-size
is a pure javascript implementation of said feature which is very easy to use.
https://github.com/netroy/image-size
var sizeOf = require('image-size');
sizeOf('images/funny-cats.png', function (err, dimensions) {
console.log(dimensions.width, dimensions.height);
});
Solution 2:
Yes this is possible but you will need to install GraphicsMagick or ImageMagick.
I have used both and I can recommend GraphicsMagick it's lot faster.
Once you have installed both the program and it's module you would do something like this to get the width and height.
gm = require('gm');
// obtain the size of an image
gm('test.jpg')
.size(function (err, size) {
if (!err) {
console.log('width = ' + size.width);
console.log('height = ' + size.height);
}
});
Solution 3:
https://github.com/nodeca/probe-image-size
More interesting problem is "how to detect image size without full file download from remote server". probe-image-size
will help. Of course, it supports local streams too.
It's written in pure JS and does not need any heavy dependencies (ImageMagick and so on).
Solution 4:
Calipers is another pure Javascript library that can determine the dimensions of images.
https://github.com/calipersjs/calipers