2017-10-12 114 views
1

所以我有一个sample.jpg文件,我要检查它的尺寸..图像尺寸如何检查使用JS或节点

所需的逻辑是这样的:

var img = require('./sample.jpg'); 
console.log(typeof img) // returns string -> Image 
console.log(img.height) // returns number -> 300 
console.log(img.width) // returns nubmer -> 250 

没关系typeof的返回,我只是想知道尺寸。但那是我要去哪里的简单分解。有没有办法做到这一点?使用节点还是纯js?

+1

似乎成为一种流行[节点包做](https://www.npmjs.com/package/image-size) – Nick

回答

1

您可以使用image-size NPM模块:

npm install image-size --save 

然后可以得到dimentions这样的:

var sizeOf = require('image-size'); 
var dimensions = sizeOf('./sample.jpg'); 
console.log(dimensions.width, dimensions.height); 

欲了解更多信息,请通过image-sizedocumentations

+0

您是野蛮的先生!非常感谢你! –

+0

高兴地帮助:) – kgangadhar

-1

您可以使用此使用JS(仅在浏览器的工作原理)

var img = new Image(); 
img.src = './sample.jpg'; 
console.log(img.height); 
console.log(img.width); 

对于节点,可以安装帆布库。

+0

是的,我试过了,它给了我这个错误:ReferenceError:图像没有在Object处定义为 。 (Module.js:570:32) (在Object.Module._extensions..js(module.js:在module.load(module.js:488:32) at atModuleLoad(module.js:446:12) at Module.load(module.js:438:3) 。 runMain(module.js:604:10) at boot(bootstrap_node.js:389:7) at startup(bootstrap_node.js:149:9) at bootstrap_node.js:504:3 –

0

您可以使用jpeg-js

从自己的文件:

var jpeg = require('jpeg-js'); 
var jpegData = fs.readFileSync('grumpycat.jpg'); 
var rawImageData = jpeg.decode(jpegData); 
console.log(rawImageData);