18 releases

0.9.1 Oct 22, 2024
0.8.1 Oct 13, 2024
0.7.1 Oct 7, 2023
0.6.2 Oct 20, 2022
0.2.0 Oct 23, 2020

#45 in Command-line interface

Download history 4031/week @ 2024-12-08 4892/week @ 2024-12-15 1912/week @ 2024-12-22 1813/week @ 2024-12-29 2600/week @ 2025-01-05 3678/week @ 2025-01-12 3412/week @ 2025-01-19 3431/week @ 2025-01-26 4478/week @ 2025-02-02 3520/week @ 2025-02-09 3864/week @ 2025-02-16 4063/week @ 2025-02-23 3283/week @ 2025-03-02 3986/week @ 2025-03-09 4817/week @ 2025-03-16 4341/week @ 2025-03-23

16,787 downloads per month
Used in 46 crates (40 directly)

MIT and LGPL-3.0-or-later

56KB
1K SLoC

viuer

ci

Display images in the terminal with ease.

viuer is a Rust library that makes it easy to show images in the terminal. It has a straightforward interface and is configured through a single struct. The default printing method is through lower half blocks ( or \u2585). However some custom graphics protocols are supported. They result in full resolution images being displayed in specific environments:

For a demo of the library's usage and example screenshots, see viu.

Usage

With the default features, only image::DynamicImage can be printed:

use viuer::{print, Config};

let conf = Config {
    // Start from row 4 and column 20.
    x: 20,
    y: 4,
    ..Default::default()
};

let img = image::DynamicImage::ImageRgba8(image::RgbaImage::new(20, 10));
print(&img, &conf).expect("Image printing failed.");

And with the print-file feature, viuer can work with files, too:

use viuer::{print_from_file, Config};

let conf = Config {
    // Set dimensions.
    width: Some(80),
    height: Some(25),
    ..Default::default()
};

// Display `img.jpg` with dimensions 80×25 in terminal cells.
// The image resolution will be 80×50 because each cell contains two pixels.
print_from_file("img.jpg", &conf).expect("Image printing failed.");

Docs

Find all the configuration options in the full documentation.

Dependencies

~6–16MB
~220K SLoC