是否可以在node.js中获取图像的宽度和高度(在服务器端,而不是客户端)?我需要在我正在编写的node.js库中找到图像的宽度和高度。
答案 0 :(得分:104)
完全不需要安装GraphicsMagick
或ImageMagick
,确定图片的尺寸就像查看标题一样简单。 image-size
是所述功能的纯javascript实现,非常易于使用。
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);
});
答案 1 :(得分:36)
可以,但您需要安装GraphicsMagick或ImageMagick。
我已经使用了两者,我可以更快地推荐GraphicsMagick。
一旦你安装了程序和它module,你就可以做这样的事情来获得宽度和高度。
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);
}
});
答案 2 :(得分:9)
https://github.com/nodeca/probe-image-size
更有趣的问题是“如何在没有从远程服务器下载完整文件的情况下检测图像大小”。 probe-image-size
会有所帮助。当然,它也支持本地流。
它是用纯JS编写的,不需要任何重依赖(ImageMagick等)。
答案 3 :(得分:2)
Calipers是另一个可以确定图像尺寸的纯Javascript库。
答案 4 :(得分:0)
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){
}
});