README
pixel-stack
Interface to composite RGB/RGBA buffers together into larger buffers representing images.
How to use
var PixelStack = require('pixel-stack');
var stack = new PixelStack;
stack.fill([0,0,0]);
stack.push([255,255,255,255,255,255], 0, 0, 2, 1);
stack.push([255,255,255,255,255,255], 0, 1, 2, 1);
stack.buffer();
API
PixelStack(Number width, Number height, String type)
type
can be'rgb'
or'rgba'
. Defaults torgb
.
PixelStack#push(Buffer data, Number w, Number h, Number x, Number y, Number stride)
- Inserts the
data
pixel buffer at the coordinatesx,y
data
can be anyArray
-like datastructure (Buffer
,ArrayBuffer
).stride
can be aNumber
representing the size in bytes of each row, in case there's byte padding.- Returns the
PixelStack
instance.
PixelStack#fill(Buffer data)
- Sets the given
data
pixel buffer as background color. - If not called, it'll default to filling with black (
0,0,0
) upon the first call topush
orbuffer
. - Returns the
PixelStack
instance.
PixelStack#width()
- Returns the
width
of the stack. Useful when not specified in the constructor and calculated dynamically.
PixelStack#height()
- Returns the
height
of the stack. Useful when not specified in the constructor and calculated dynamically.
PixelStack#buffer()
- Returns the calculated pixel
Buffer
.
PixelStack#destroy()
- Cleans the internal buffer.
Credits
Inspired by the FixedJpegStack
and DynamicJpegStack
interfaces of
the node-jpeg project by @pkrumins.
Authors
- Nick Momrik (@nickmomrik)
- Guillermo Rauch (@guille)
License
MIT – Copyright (c) 2014 Automattic, Inc.