Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ascii-pixels

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ascii-pixels

Convert raw image data to ascii art

  • 1.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
6
increased by500%
Maintainers
1
Weekly downloads
 
Created
Source

Ascii Pixels npm

Convert raw image data to ascii art!

install

npm install ascii-pixels

usage

input raw image data, and optionally set contrast or invert colors

var options = {
  contrast: 128,    // range -255 to +255
  invert: true      // invert brightness
}

var ascii = asciiPixels(imageData, options)

The raw image data has the following format:

var imageData = {
  data: frameData,
  width: width,
  height: height
}

You may optionally provide the pixel format: imageData.format = 'RGB24', by default it is RGB32.

examples

Any format is supported as long as you can get the raw image data. Here are a few examples:

node using jpeg-js

var fs = require('fs')
var jpeg = require('jpeg-js')
var asciiPixels = require('ascii-pixels')

var buffer = fs.readFileSync('image.jpg')

var imageData = jpeg.decode(buffer)

var ascii = asciiPixels(imageData)
console.log(ascii)

browser using canvas

var asciiPixels = require('ascii-pixels')

var img = new Image()

img.onload = function () {
  var canvas = document.createElement('canvas')
  canvas.width = img.width
  canvas.height = img.height

  var context = canvas.getContext('2d')
  context.drawImage(img, 0, 0, img.width, img.height)

  var imageData = context.getImageData(0, 0, canvas.width, canvas.height)

  var ascii = asciiPixels(imageData)
  console.log(ascii)
}

img.src = './nodejs-logo.png'

node using canvas

var fs = require('fs')
var Canvas = require('canvas')
var asciiPixels = require('ascii-pixels')

var img = new Canvas.Image
img.src = fs.readFileSync('nodejs-logo.png')

var canvas = new Canvas(img.width, img.height)
var context = canvas.getContext('2d')

context.drawImage(img, 0, 0, img.width, img.height)

var imageData = context.getImageData(0, 0, canvas.width, canvas.height)

var ascii = asciiPixels(imageData)

console.log(ascii)

sample output

                                        C,                                      
                                        8@@@                                    
                                        0@@@                                    
                                        0@@@                                    
     @@             .::.             CG 8@@@         G8              ...        
 t@@@@@@@@1      .:::::::;.       @@@@@@@@@@     ,@@@@@@@@;      .        .     
@@@@@ff@@@@@    ::::;;::;:::    @@@@@0G@@@@@    @@@@@GG@@@@@    .     ..,       
@@@@    @@@@    ::::;;:;;;::    0@@@    8@@@    8@@@ ,, @@,     .     ...       
@@@@    @@@@    :::;;;;;;;::    8@@@t  ;@@@@    8@@@L           .   ...  ,      
@@@,    :@@@     ,:::;;:::,.    i@@@@@@@@@@f    ,@@@@@@8         . .      ..    
                    ,,,:           .@@@@;           8@@@            .  ,        

credit

This project is based on the awesome ascii-camera by Andrei Gheorghe

license

MIT

Keywords

FAQs

Package last updated on 04 Oct 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc