3.3.2 • Published 6 years ago

get-pixels-frame-info-update v3.3.2

Weekly downloads
10,271
License
MIT
Repository
github
Last release
6 years ago

get-pixels

Given a URL/path, grab all the pixels in an image and return the result as an ndarray. Written in 100% JavaScript, works both in browserify and in node.js and has no external native dependencies.

Currently the following file formats are supported:

  • PNG
  • JPEG
  • GIF

Example

var getPixels = require("get-pixels")

getPixels("lena.png", function(err, pixels, frameInfo) {
  if(err) {
    console.log("Bad image path")
    return
  }
  console.log("got pixels", pixels.shape.slice())
})

Install

npm install get-pixels

require("get-pixels")(url[, type], cb(err, pixels, frameInfo))

Reads all the pixels from url into an ndarray.

  • url is the path to the file. It can be a relative path, an http url, a data url, or an in-memory Buffer.
  • type is an optional mime type for the image (required when using a Buffer)
  • cb(err, pixels, framesInfo) is a callback which gets triggered once the image is loaded.

Returns An ndarray of pixels in raster order having shape equal to [width, height, channels] and frameInfo param if available (for animated GIFs).

Note For animated GIFs, a 4D array is returned with shape [numFrames, width, height, 4], where each frame is a slice of the final array.

frameInfo is an Array of Objects with these fields:

NameTypeDescription
xIntegerImage Left Position
yIntegerImage Top Position
widthIntegerImage Width
heightIntegerImage Height
has_local_paletteBooleanImage local palette presentation flag
palette_offsetIntegerImage palette offset
palette_sizeIntegerImage palette size
data_offsetIntegerImage data offset
data_lengthIntegerImage data length
transparent_indexIntegerTransparent Color Index
interlacedBooleanInterlace Flag
delayIntegerDelay Time (1/100ths of a second)
disposalIntegerDisposal method

See GIF spec for details. Summary http://www.onicos.com/staff/iz/formats/gif.html

Credits

(c) 2013-2014 Mikola Lysenko. MIT License