#image #ansi-term #ansi #terminal #pixel #graphics

ansipix

A rust library for converting images to ANSI strings to print in a terminal

4 releases (1 stable)

1.0.0 Jun 10, 2022
0.1.2 Dec 10, 2021
0.1.1 Dec 10, 2021
0.1.0 Dec 10, 2021

#1043 in Command-line interface

29 downloads per month
Used in 2 crates

GPL-3.0-only

12KB
146 lines

ansipix

A rust library for converting images to ANSI strings to print in a terminal

Usage

Add as dependency

Add the following to your Cargo.toml

ansipix = "1.0.0"

Get an ANSI string

use std::path::PathBuf;

let img = ansipix::of_image_file(PathBuf::from("example.png"), (50, 50), 100, false);

match img {
    Ok(img) => println!("{}", img),
    Err(e) => eprintln!("{}", e),
}

Refer to the docs for more information.

Specify a different filter type

ansipix uses the image crate for opening and resizing the image. The of_image_file function uses FilterType::Nearest for resizing. You can specify a different one with the of_image_file_with_filter function.

use std::path::PathBuf;
use ansipix::FilterType;

let img = ansipix::of_image_file_with_filter(PathBuf::from("example.png"), (32, 32), 255, false, FilterType::Triangle);
match img {
    Ok(img) => println!("{}", img),
    Err(e) => eprintln!("{}", e),
}

Dependencies

~5MB
~62K SLoC