Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASCII Art Terminal

ASCII Art Terminal

Key Features 🍪 | Requirements 🧬 | Build 🚀 | How to Use 📃 | Credits ✍

Preview

Key Features 🍪

  • User interface
  • Supports JPEG, PPM image formats
  • Your own ASCII art symbol style
  • Preserve an image's aspect ratio
  • ASCII art animation
  • Export art to .txt file in full image resolution
  • Available effects:
    • Contrast
    • Negative
    • Sharpen

Requirements 🧬

  • C++ 17
  • libncurses
  • libjpeg

Build 🚀

Install dependencies

Install all necessary dependencies:

$ make install

Build application

Build ASCII Art Terminal:

$ make compile

Run application

Run ASCII Art Terminal:

$ make run

Code documentation

You can find generated documentation located at: doc/index.html

Clean build (optional)

To clean compiled binaries and docs:

$ make clean

How to Use 📃

Basics

  1. Build and run the application
  2. Press on the Add image(s) button to add an image
  3. Enter absolute path to image you want to add or simply drag your image into the terminal - this action will automatically paste image's path
  4. Press Enter and wait for image to convert
  5. You can add more images if you want or enter the "q" symbol to return back to the menu
  6. To display your image as ASCII Art, press the Show ASCII art button
  7. Choose the image you want to show by entering it's index from list of loaded paths
  8. Enjoy your ASCII art!
  9. Choose the Exit section or press the ESC button to close the program

Image properties

  • To apply effects to your image:
    1. Choose the image in the Show ASCII art section
    2. Press the Image effects button
    3. Enter index of the effect you want to add or to remove it if its already applied. Enter the "q" symbol to return back to the menu
    4. Press Enter to save the changes
  • To remove image from the list:
    1. Press the Remove image button
    2. Choose the image you want to remove by entering it's index from list of loaded paths
  • To export image to .txt file:
    1. Choose the image in the Show ASCII art section
    2. Press the Export art button
    3. Enter absolute path to .txt file you want to create
    4. Press Enter to save the changes

Animation

  • To enable this function you need to add at least 2 images
  • Press the:
    1. Play animation button to start animation
    2. Pause animation button to stop animation

Note: Images will be displayed in order they were loaded

Optional utils

  • Style ASCII art with your own symbols in a Set grayscale level section:
    • Enter the sequence of symbols from darkest to lightest
    • Now your ASCII art will be displayed by these symbols

Credits ✍

Third-party libraries

Used algorithms

Author

License

Copyright 2021 Ivan Menshikov

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

Image-to-ASCII converter for the terminal: C++17 + ncurses TUI that loads JPEG/PPM images and renders them as ASCII art with custom grayscale ramps, contrast/negative/sharpen effects, multi-image animation and full-resolution .txt export. BI-PA2 semestral project at FIT CTU.

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Contributors

Languages