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

#41 in Command-line interface

Download history 5255/week @ 2024-10-12 7667/week @ 2024-10-19 6399/week @ 2024-10-26 5210/week @ 2024-11-02 3762/week @ 2024-11-09 3401/week @ 2024-11-16 3781/week @ 2024-11-23 3825/week @ 2024-11-30 4084/week @ 2024-12-07 4927/week @ 2024-12-14 1951/week @ 2024-12-21 1793/week @ 2024-12-28 2560/week @ 2025-01-04 3732/week @ 2025-01-11 3318/week @ 2025-01-18 2976/week @ 2025-01-25

12,898 downloads per month
Used in 42 crates (37 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

~5–16MB
~209K SLoC