Skip to content

evidentpoint/buffer-image-size

 
 

Repository files navigation

buffer-image-size

A Node module to get dimensions of any image file buffer

Fork of image-size

This fork doesn't use the 'fs' and 'path' node modules.

Supported formats

  • BMP
  • CUR
  • GIF
  • ICO
  • JPEG
  • PNG
  • PSD
  • TIFF (no buffer support)
  • WebP
  • SVG
  • DDS

Upcoming

  • SWF

Programmatic Usage

npm install buffer-image-size --save

Synchronous

var sizeOf = require('buffer-image-size');
var dimensions = sizeOf(yourImageBuffer);
console.log(dimensions.width, dimensions.height);

Asynchronous

No need for asynchronous usage in this fork. See the original instead: https://github.com/image-size/image-size

Multi-size

If the target file is an icon (.ico) or a cursor (.cur), the width and height will be the ones of the first found image.

An additional images array is available and returns the dimensions of all the available images

var sizeOf = require('buffer-image-size');
var images = sizeOf(icoBuffer).images;
for (const dimensions of images) {
  console.log(dimensions.width, dimensions.height);
}

Using a URL

var url = require('url');
var http = require('http');

var sizeOf = require('buffer-image-size');

var imgUrl = 'http://my-amazing-website.com/image.jpeg';
var options = url.parse(imgUrl);

http.get(options, function (response) {
  var chunks = [];
  response.on('data', function (chunk) {
    chunks.push(chunk);
  }).on('end', function() {
    var buffer = Buffer.concat(chunks);
    console.log(sizeOf(buffer));
  });
});

You can optionally check the buffer lengths & stop downloading the image after a few kilobytes. You don't need to download the entire image

Command-Line Usage (CLI)

No CLI usage in this fork. See the original instead: https://github.com/image-size/image-size

Credits

not a direct port, but an attempt to have something like dabble's imagesize as a node module.

About

Node module for detecting image dimensions

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%