image-output
v2.4.2
Published
Output image data to a file, console, canvas, array or buffer
Downloads
8,557
Maintainers
Readme
image-output
Output image data to a destination: file, canvas, console, stdout, ImageData etc.
Usage
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')
API
output(source, destination?, shape|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. destination
and options
may come in the opposite order for conveniency.
output([0,1,1,0], [2,2,1], 'a.png')
source
Shoud be an actual image data container, one of:
- Canvas, Context2D, WebGLContext
- ImageData or Object
{data: Uint8Array, width, height}
- DataURL or base64 string
- Image, Video, ImageBitmap with resolved data
- Array, Array of Arrays, Uint8Array, FloatArray with raw pixels
- ArrayBuffer, Buffer
- Ndarray
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
.
WebStream | TODO. Send data to stream, eg. process.stdout
.
options
Property | Meaning
---|---
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.
Customize color palette in terminal
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
Related
- image-equal − compare if two images are equal.
- image-pixels − load image data from any source.
- image-encode − encode image data into one of the target formats.
Similar
- save-pixels − output ndarray with image pixels to a file.
- terminal-image − print image to a terminal.
License
© 2018 Dmitry Yv. MIT License.