获取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); } });
根本不需要安装GraphicsMagick
或ImageMagick
,确定图像的尺寸就像查看标题一样简单。 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库,可以确定图像的尺寸。
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){ } });