获取node.js中图像的宽度和高度

是否有可能得到在node.js(在服务器端,而不是客户端)的图像的宽度和高度? 我需要在我正在编写的node.js库中查找图像的宽度和高度。

是的,这是可能的,但您将需要安装GraphicsMagick或ImageMagick 。

我已经使用了两个,我可以推荐GraphicsMagick它快很多。

一旦你已经安装了程序和它的模块,你会做这样的事情来获得宽度和高度。

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); } }); 

根本不需要安装GraphicsMagickImageMagick ,确定图像的尺寸就像查看标题一样简单。 image-size是一个纯粹的JavaScript实现的function,这是非常容易使用。

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); }); 

https://github.com/nodeca/probe-image-size

更有趣的问题是“如何从远程服务器下载完整文件的情况下检测图像大小”。 probe-image-size将有所帮助。 当然,它也支持本地stream。

它是用纯JS编写的,不需要任何沉重的依赖(ImageMagick等等)。

卡尺是另一个纯粹的JavaScript库,可以确定图像的尺寸。

https://github.com/calipersjs/calipers

 var sizeOf = require('image-size'); sizeOf(my_file_item.completeFilename, function (err, dimensions) { try{ if(!err){ let image_dimensions = dimensions || ""; let width = 200; // we want 200 let height = parseInt(width/(image_dimensions.width/image_dimensions.height)); }else{ } // console.log(ex); }catch(ex){ } });