Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mikeralphson/ansir-js
Convert PNG/JPEG/GIFs to colourful terminal ANSI art. Based on
https://github.com/mikeralphson/ansir-js
ansi ansi-art bbs gif image jpeg jpg png
Last synced: 8 days ago
JSON representation
Convert PNG/JPEG/GIFs to colourful terminal ANSI art. Based on
- Host: GitHub
- URL: https://github.com/mikeralphson/ansir-js
- Owner: MikeRalphson
- License: apache-2.0
- Created: 2018-11-04T02:34:57.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-11-04T03:17:58.000Z (about 6 years ago)
- Last Synced: 2024-10-11T23:11:24.885Z (2 months ago)
- Topics: ansi, ansi-art, bbs, gif, image, jpeg, jpg, png
- Language: JavaScript
- Homepage: https://github.com/themadcreator/ansir
- Size: 236 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ANSIR
[![Build Status](https://travis-ci.org/themadcreator/ansir.svg?branch=master)](https://travis-ci.org/themadcreator/ansir)
Generate UTF-8 Art from PNG using ANSI color codes.
Similar to oldschool ANSI art, we use UTF-8 block characters and standard terminal color escape sequences.
Supports both the basic and extended ANSI color escape sequences. Note: Full 24-bit RGB escape sequences currently not supported.
A utility `conv.js` can be used to convert JPEGs etc to PNG format.
### Installation
npm install -g ansir
### Generate artwork
ansir sample/in.png
### Proportionally rescale the png file on the fly
ansir --scale 0.1 sample/in.png > sample/out.ans
### Sample
#### Input
![input](sample/in.png?raw=true)
#### Output (10% scale)
![output](sample/out.png?raw=true)
### Renderers
Ansir supports 3 modes of rendering, shown in the following table:
| Block | Shaded | Sub |
|-------|--------|-----|
|![block](sample/render-block.png?raw=true)|![shaded](sample/render-shaded.png?raw=true)|![sub](sample/render-sub.png?raw=true)|### Usage
```
Usage: ansirGenerate UTF-8 Art from PNG using ANSI color codes.
Options:
-h, --help output usage information
-s, --scale Proportionally rescale image
-w, --width Target output width (in characters)
-h, --height Target output height (in lines)
--colors
The ANSI colorspace. Use "basic" for the most compatible 8-color
palette. The default is "extended" for the 256-color palette supported by
most major terminals that have any color at all.
--background
Applies only to "shaded" mode. Specifies whether the target terminal
will have a light or dark background. This determines color matching for
shaded UTF-8 block characters. Default is "dark", which means we interpret
a shaded block character as darker than a solid one.
--alpha-cutoff
The minimum alpha value of a pixel that should be converted to a ansi
color utf-8 block character. Valid values are 0.0-1.0. Default is
0.95.
--mode
The rendering mode. Default is "block". The options are:"block" - Use the ANSI background escape sequence to create seamless blocks.
"shaded" - Use the ANSI foreground escape sequence on unicode block character.
░ LIGHT SHADE
▒ MEDIUM SHADE
▓ DARK SHADE
█ FULL BLOCK"sub" - Use the ANSI foreground escape sequence on unicode quadrant block
characters. NOTE: These characters can cause slowness when used
with some common terminal fonts such as Consolas.
▘ QUADRANT UPPER LEFT
▝ QUADRANT UPPER RIGHT
▖ QUADRANT LOWER LEFT
▗ QUADRANT LOWER RIGHT
▚ QUADRANT UPPER LEFT AND LOWER RIGHT
▞ QUADRANT UPPER RIGHT AND LOWER LEFT
█ FULL BLOCK
```### Resources
https://en.wikipedia.org/wiki/ANSI_art
http://ascii-table.com/ansi-escape-sequences.php