---
obj: application
repo: https://github.com/FineFindus/artem
---

# artem
Artem is a small cli program, written in rust, to easily convert images to ascii art, named after the latin word for art. By default it tries to use truecolor, if the terminal does not support truecolor, it falls back to 16 Color ANSI. When the ascii image is written to a file, the image will not use colors. It supports .jpeg, .png, .gif, .webp and many more.

## Usage
Usage: `artem [options] [image]`

| `Option`                        | `Description`                                                                                                                                                                                                                     |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `-c, --characters <characters>` | Change the characters used to display the image. The first character should have the highest 'darkness' and the last should have the least (recommended to be a space ' '). A lower detail map is recommended for smaller images. |
| `-s, --size <size>`             | Change the size of the output image. The minimum size is 20. Lower values will be ignored and changed to 20. Conflicts with `--width` and `--height`. \[default: 80]                                                              |
| `--height`                      | Use the terminal maximum height to display the image. Conflicts with `--size` and `--width`.                                                                                                                                      |
| `-w, --width`                   | Use the terminal maximum width to display the image. Conflicts with `--size` and `--height`.                                                                                                                                      |
| `--ratio <scale>`               | Change the ratio between height and width. The value must be between 0.1 and 1.0. It is not recommended to change this setting. \[default: 0.42]                                                                                  |
| `--flipX`                       | Flip the image along the X-Axis/horizontally.                                                                                                                                                                                     |
| `--flipY`                       | Flip the image along the Y-Axis/vertically.                                                                                                                                                                                       |
| `--centerX`                     | Center the image along the X-Axis/horizontally in the terminal.                                                                                                                                                                   |
| `--centerY`                     | Center the image along the Y-Axis/vertically in the terminal.                                                                                                                                                                     |
| `-o, --output <output-file>`    | Output file for non-colored ASCII. For color, use a file with .ansi, .svg, or .html extension. .ansi files will consider environment variables when creating colored output.                                                      |
| `--invert`                      | Inverts the characters used for the image, so light characters will be dark. Useful if the image has a dark background.                                                                                                           |
| `--background`                  | Sets the background of the ASCII as the color. Ignored if the terminal does not support truecolor. Mutually exclusive with `--no-color`.                                                                                          |
| `--border`                      | Adds a decorative border surrounding the ASCII image, making the image slightly smaller as it respects the given size.                                                                                                            |
| `--no-color`                    | Do not use color when printing the image to the terminal.                                                                                                                                                                         |
| `--outline`                     | Only create an outline of the image. Uses filters and may take more resources/time, especially on larger images. Best used on images with clear foreground/background distinction.                                                |
| `--hysteresis`                  | When creating the outline, use the hysteresis method to remove imperfections, but might not look as good in ASCII form. Requires `--outline` to be present.                                                                       |
| `--verbose <verbosity>`         | Choose the verbosity of the logging level. \[default: warn] Possible values: off, error, warn, info, debug, trace.                                                                                                                |
