Output image to a file, stream, canvas, console, buffer or any other destination
MIT License
Output image data to a destination: file, canvas, console, stdout, ImageData etc.
var output = require('image-output')
// create chess pattern png from raw pixels data
output({
data: [0,0,0,1, 1,1,1,1, 1,1,1,1, 0,0,0,1],
width: 2,
height: 2
}, 'chess.png')
output(source, destination?, options?)
Output pixel data source
to a destination
based on options
. Undefined destination displays image to console/stdout. The operation is done in sync fashion.
source
Shoud be an actual image data container, one of:
{data: Uint8Array, width, height}
Handy for that purpose is image-pixels
:
var pixels = require('image-pixels')
output(await pixels('image.png'), 'image-copy.png')
destination
Can be any image output destination:
Type | Meaning |
---|---|
String | File to create or path, in node. If includes extension, mimeType is detected from it. |
Canvas2D, Context2D | Render pixel data into a canvas. Canvas is resized to fit the image data. To avoid resizing, use options.clip property. |
document , Element
|
Create a canvas with diff data in document or element. |
console |
Display image to console in browser or to terminal in node. |
Array / FloatArray | Write pixel data normalized to [0..1] range to a float-enabled array. |
UintArray | Put pixel data to any unsigned int array. |
Buffer / ArrayBuffer | Put pixel data into a buffer, possibly encoded into target format by options.type . |
Ndarray | Write pixel data into an ndarray. |
ImageData | Put data into ImageData instance, browser only. |
Object | Create data , width and height properties on an object. |
Function | Call a function with ImageData as argument. |
Stream | Send data to stream, eg. process.stdout . |
options
Property | Meaning |
---|---|
width , height
|
Explicitly indicate input data shape (columns, rows), if input has no dimensions info. |
type / mime
|
Encode into target type, by default detected from file extension. By default image/png . |
quality |
Defines encoding quality, 0..1, optional. By default 1. |
...rest |
Rest of options is passed to encoder. |
You can choose color palette with flags or environment variable FORCE_COLOR=0123
node ./script.js --no-color
node ./script.js --color
node ./script.js --color=256
node ./script.js --color=16m
© 2018 Dmitry Iv. MIT License.