lib/functions/image-size.js
function imageSize(img, ignoreErr) {
  utils.assertType(img, 'string', 'img');
  try {
    var img = new Image(this, img.string);
  } catch (err) {
    if (ignoreErr) {
      return [new nodes.Unit(0), new nodes.Unit(0)];
    } else {
      throw err;
    }
  }

  // Read size
  img.open();
  var size = img.size();
  img.close();

  // Return (w h)
  var expr = [];
  expr.push(new nodes.Unit(size[0], 'px'));
  expr.push(new nodes.Unit(size[1], 'px'));

  return expr;
}
function imageSize(img, ignoreErr) {
  utils.assertType(img, 'string', 'img');
  try {
    var img = new Image(this, img.string);
  } catch (err) {
    if (ignoreErr) {
      return [new nodes.Unit(0), new nodes.Unit(0)];
    } else {
      throw err;
    }
  }

  // Read size
  img.open();
  var size = img.size();
  img.close();

  // Return (w h)
  var expr = [];
  expr.push(new nodes.Unit(size[0], 'px'));
  expr.push(new nodes.Unit(size[1], 'px'));

  return expr;
}
function imageSize ( img , ignoreErr ) { utils . assertType ( img , 'string' , 'img' ) ; try { var img = new Image ( this , img . string ) ; } catch ( err ) { if ( ignoreErr ) { return [ new nodes . Unit ( 0 ) , new nodes . Unit ( 0 ) ] ; } else { throw err ; } } // Read size img . open ( ) ; var size = img . size ( ) ; img . close ( ) ; // Return (w h) var expr = [ ] ; expr . push ( new nodes . Unit ( size [ 0 ] , 'px' ) ) ; expr . push ( new nodes . Unit ( size [ 1 ] , 'px' ) ) ; return expr ; }
Return the width and height of the given `img` path.

Examples:

image-size('foo.png')
// => 200px 100px

image-size('foo.png')[0]
// => 200px

image-size('foo.png')[1]
// => 100px

Can be used to test if the image exists,
using an optional argument set to `true`
(without this argument this function throws error
if there is no such image).

Example:

image-size('nosuchimage.png', true)[0]
// => 0

@param {String} img
@param {Boolean} ignoreErr
@return {Expression}
@api public
Return the width and height of the given img path .