image-output

    2.4.2 • Public • Published

    image-output Build Status unstable

    Output image data to a destination: file, canvas, console, stdout, ImageData etc.

    Usage

    $ npm install image-output

    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.
    <!-- clip Defile clipping area rectangle from the initial data to save. -->

    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

    Similar

    License

    © 2018 Dmitry Yv. MIT License.

    Install

    npm i image-output

    DownloadsWeekly Downloads

    1,352

    Version

    2.4.2

    License

    MIT

    Unpacked Size

    31.5 kB

    Total Files

    9

    Last publish

    Collaborators

    • dy