Подтвердить что ты не робот

Открытие изображений на NodeJS и определение ширины/высоты

Большое спасибо за помощь в будущем. Мне нужен эквивалент "нового изображения()" (а затем myImage.src... и т.д.), Но на NodeJS. Я благодарю тех, кто быстро отвечает глубоко в моем сердце... и хорошо, также говоря "спасибо!".: P

4b9b3361

Ответ 1

Там node-imagemagick, (вам нужно будет иметь ImageMagick, очевидно).

var im = require('imagemagick');
im.identify('kittens.jpg', function(err, features){
  if (err) throw err
  console.log(features)
  // { format: 'JPEG', width: 3904, height: 2622, depth: 8 }
})

Ответ 2

Использование imagemagick для этого очень утомительно, так как вы только хотите прочитать заголовок файла и проверить размеры. image-size является чистой реализацией javascript указанной функции, которая очень проста в использовании.

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

var sizeOf = require('image-size')

sizeOf('images/funny-cats.png', function (err, dimensions) {
  if (err) throw err

  console.log(dimensions.width, dimensions.height)
})

Ответ 3

https://github.com/nodeca/probe-image-size, который должен помочь. Малые + синхронные/асинхронные режимы + поддержка URL.

var probe = require('probe-image-size');

// Get by URL
//
probe('http://example.com/image.jpg', function (err, result) {
  console.log(result); // => { width: xx, height: yy, type: 'jpg', mime: 'image/jpeg', wUnits: 'px', hUnits: 'px' }
});

// From the stream
//
var input = require('fs').createReadStream('image.jpg');

probe(input, function (err, result) {
  console.log(result);
  // => { width: xx, height: yy, type: 'jpg', mime: 'image/jpeg', wUnits: 'px', hUnits: 'px' }

  // terminate input, depends on stream type,
  // this example is for fs streams only.
  input.destroy();
});

// From a Buffer
//
var data = require('fs').readFileSync('image.jpg');

console.log(probe.sync(data)); // => { width: xx, height: yy, type: 'jpg', mime: 'image/jpeg', wUnits: 'px', hUnits: 'px' }

Отказ от ответственности: я являюсь автором этого кода.