imaging

Draw image into terminal ,whithout node-canvas.Let your command-line terminal not only have characters

Usage no npm install needed!

<script type="module">
  import imaging from 'https://cdn.skypack.dev/imaging';
</script>

README

imaging

travis-ci npm version Dependency Status

Drawing image in your terminal whithout node-canvas,and the outputing image is more clear than using picture-tube.

Imaging, let your terminal outputs more interesting.

imaing

Installing

For node with npm:

windows

npm install imaging -g

Mac/Linux

sudo npm install imaging -g

Node.js Module

npm install imaging --save

Usage

Command line:

imaging https://www.google.com.hk/images/srpr/logo11w.png

Using piping:

echo 'https://www.google.com.hk/images/srpr/logo11w.png' | imaging

options

Set image width

imaging example.png -w 20
## or
imaging example.png --width 20

Set offset left

imaging example.png -l 20
## or
imaging example.png --left 20

imaging left

custom pixel char

imaging example.png -c @
## or
imaging example.png --char #
## if error or don't take effect, try wrapping the char with ""
imaging example.png -c "*"

imaging char names:

  • charmap specific color with specific char, enjoy it.
  • square "▇"
  • circle "●"
  • rectangle" "█"

imaging example.png -c square equal imaging example.png -c ▇

imaing char

Nodejs module

var imaging = require('imaging');
imaging.draw('example.jpg', function (resp, status) {
    /*
      if status == 'success', resp is the image charater string.
      conols.log(resp) to render the image in your terminal
      else if if status == 'fail', resp is the error message
    */
    console.log(status);
    console.log(resp);
});

// limit the width for rendering
imaging.draw('example.jpg', { width: 50}, function (resp, status) {
    /*
      if status == 'success', resp is the image charater string.
      conols.log(resp) to render the image in your terminal
      else if if status == 'fail', resp is the error message
    */
    (status == 'success') && console.log(resp);
});

API

imaging.draw(path, [options], callback) //path could be a remote link or local resource

options: object

  • width - the width of image for rendering
  • left - set the left offset of image
  • char - set the char as pixel of rendered image

callback: function (resp, status)

  • status == "fail" - resp: error msg
  • status == "success" - resp:imaging string in color format

Example

Source image:

source img

Draw into terminal:

imaging render

Support

Now, it dosn't support rendering images with batch processing. So when you want to render multiple images, only the way to imaging image for each.