2017-07-11 21:29:46 +02:00
|
|
|
# TerminalImageViewer (tiv)
|
2016-04-09 00:59:01 +02:00
|
|
|
|
2017-07-11 21:29:46 +02:00
|
|
|
Small C++ program to display images in a (modern) terminal using RGB ANSI codes and unicode block graphic characters.
|
2016-04-09 00:59:01 +02:00
|
|
|
|
2017-07-11 21:29:46 +02:00
|
|
|
The main difference to various existing similar tools is that instead of having two fixed pixels per character
|
|
|
|
cell utilizing the unicode half block character, this program enhances the resolution using the following algorithm:
|
2016-04-09 01:21:06 +02:00
|
|
|
|
2017-07-11 21:29:46 +02:00
|
|
|
For each 4x8 pixel cell mapped to a unicode block graphics character:
|
2016-04-09 01:21:06 +02:00
|
|
|
|
2017-07-11 21:29:46 +02:00
|
|
|
1. Find the color channel (R, G or B) that has the biggest range of values for the current cell
|
|
|
|
2. Split this range in the middle and create a corresponding bitmap for the cell
|
|
|
|
4. Compare the bitmap to the assumed bitmaps for various unicode block graphics characters
|
|
|
|
5. Re-calculate the foregound and background colors for the chosen character.
|
2016-04-09 00:59:01 +02:00
|
|
|
|
2017-07-11 21:29:46 +02:00
|
|
|
## Installation
|
2016-04-09 00:59:01 +02:00
|
|
|
|
2017-07-11 21:29:46 +02:00
|
|
|
git clone https://github.com/stefanhaustein/TerminalImageViewer.git
|
|
|
|
cd TerminalImageViewer/src/main/cpp
|
|
|
|
make
|
|
|
|
sudo make install
|
2016-04-09 00:59:01 +02:00
|
|
|
|
2017-07-11 21:29:46 +02:00
|
|
|
## Usage
|
2016-04-09 00:59:01 +02:00
|
|
|
|
2017-07-11 21:29:46 +02:00
|
|
|
tiv <filenames>
|
2016-04-09 00:59:01 +02:00
|
|
|
|
2016-12-26 12:40:57 +01:00
|
|
|
## Common problems
|
2016-12-26 12:34:06 +01:00
|
|
|
|
|
|
|
- If you see strange horizontal lines, the characters don't fully fill the character cell. Remove additional line spacing in your terminal app
|
2017-07-11 21:29:46 +02:00
|
|
|
- Wrong colors? Try -256 to use a 256 color palette instead of 24 bit colors
|
|
|
|
|
2016-12-26 12:40:57 +01:00
|
|
|
## Examples
|
2016-12-26 12:34:06 +01:00
|
|
|
|
2016-04-09 00:59:01 +02:00
|
|
|
![Examples](http://i.imgur.com/8UyGjg8.png)
|
2016-06-22 21:20:47 +02:00
|
|
|
|
2016-06-23 14:10:47 +02:00
|
|
|
If multiple images match the filename spec, thumbnails are shown.
|
|
|
|
|
|
|
|
![Thumbnails](http://i.imgur.com/PTYgSqz.png)
|