Creates ASCII art in Java from Images

Overview

ASCII Art Creator

Introduction

After seeing a YouTube video by The Coding Train, I decided to make my own version of ASCII art generator. This is designed to work in console, terminal and command prompt. I have tested it on terminal, and it works well. It takes image path as parameter and converts the image into ASCII art.

Usage

To use this program go to the project folder and follow the following steps:

  1. cd ../ASCII\ art
  2. javac --source-path src -d . src/ASCIIArtCreator.java
  3. java ASCIIArtCreator -cs resources/AndSymbol.png
    • its usage is java ASCIIArtCreator
    • Available options :
      • -i : Disables the pop up of a 400x400 scaled version of selected image
      • -s : Adding this option renders and saves the ASCII art as .png image
      • -a : Character set 1
      • -b : Character set 2
      • -c : Character set 3
      • -d : Character set 4
    • Note that use only one of the a, b, c or d option at a time otherwise the behaviour is undefined
    • refer to the number of pixels to which the image is to be scaled

Technologies used

This project was created in OpenJDK 11. It has been test on Ubuntu platform using OpenJDK 11, and it works on this platform. It should work on higher versions of JDK as well.

Screenshots

The output with 84 pixels with no options and AndSymbol.png

alt text

The output with 84 pixels with no options and AtTheRateSymbol.png

alt text

ASCII saved as image using -s option source and rendered images

Image of cat

alt text

ASCII render of the above image (325x325 characters)

alt text

Image of penguin

alt text

ASCII render of the above image (325x325 characters)

alt text

Sources

License

MIT License

Copyright (c) 2022 Navjot Singh Rakhra

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


You might also like...

Java library for remapper JARs

Pocolifo's JAR Remapper Making remapping JARs easy, organized, and painless Features Remapping Class remapping Method remapping Field remapping Parame

Oct 2, 2022

A Java Visualization Library based on Apache ECharts.

A Java Visualization Library based on Apache ECharts.

ECharts Java "We bring better visualization into Java with ECharts" 📙 Introduction ECharts Java is a lightweight but comprehensive library for Java d

Dec 31, 2022

ASCII renderer in pure java with no external dependencies

Java ASCII Render ASCII renderer in pure java with no external dependencies. Java ASCII Render supports graphical primitives/elements, layers, context

Dec 12, 2022

jproblemgenerator creates scenarios in which Java programs leak memory or crash the JVM

jproblemgenerator creates scenarios in which Java programs leak memory or crash the JVM. It is intended to train the use of debugging tools

Jan 6, 2022

The code in this repository creates a Java Swing simple drawing application.

The code in this repository creates a Java Swing simple drawing application.

Simple Drawing Introduction Recently on Stack Overflow, a student had questions about his Swing project. He was trying to create a simple Swing drawin

Oct 18, 2021

Several implementations of a text table, originally using ASCII and UTF-8 characters for borders.

ASCII Table ASCII table - A simple tool to format tables with various row/column options for indentation, indentation character, alignment, padding (l

Dec 26, 2022

It creates a Trie with given input and perform character based operations

It creates a Trie with given input and perform character based operations

Trie-with-character-based-operations It creates a Trie with given input and perform character based operations Boolean Search(String arg): This functi

Jul 3, 2022

Creates high-resolution isometric screenshots of Minecraft's game objects

Isometric Renders Overview Isometric Renders allows you to take isometric screenshots, or rather, create renders of game objects like parts of world,

Dec 18, 2022

ASCII Roguelike with Euro Strategy Board Game Influences

EuroRogue ASCII Roguelike with Euro Strategy Board Game Influences --Run the RunEuroRogue.bat file in the bin folder. Requires Java - https://www.java

Feb 1, 2022

Usign ascii characters, recreate an image following a local path

CMDImage Usign ascii characters, recreate an image following a local path README El código toma una imagen desde una ruta local para convertirlo en ca

Aug 30, 2022

Evocation Sunburst is a pixel-art Java RPG about a raccon named Racc discovering a hidden world in a sewer system, while also becoming a wizard in the process.

Evocation Sunburst is a pixel-art Java RPG about a raccon named Racc discovering a hidden world in a sewer system, while also becoming a wizard in the process.

Evocation Sunburst Evocation Sunburst is a pixel-art Java RPG about a raccon named Racc discovering a hidden world in a sewer system, while also becom

May 10, 2022

State-of-the-art cryptography to protect your world seed against seed cracking tools

SecureSeed State-of-the-art cryptography to protect your world seed against seed cracking tools. This mod is written for the Fabric Mod Loader. If you

Dec 28, 2022

Traditional roguelike game with pixel-art graphics and simple interface

Traditional roguelike game with pixel-art graphics and simple interface

Dec 30, 2022

The state-of-the-art Dashboard of Apache RoccketMQ provides excellent monitoring capability. Various graphs and statistics of events, performance and system information of clients and application is evidently made available to the user.

RocketMQ Dashboard How To Install With Docker get docker image mvn clean package -Dmaven.test.skip=true docker:build or docker pull apacherocketmq/ro

Dec 30, 2022

The combined power of JUnit, Guice and Mockito. Plus it sounds like a cool martial art.

The combined power of JUnit, Guice and Mockito. Plus it sounds like a cool martial art.

The combined power of JUnit, Guice and Mockito. Plus it sounds like a cool martial art. So you started using dependency injection because somebody tol

Sep 19, 2022

State of the art mutation testing system for the JVM

Pitest (aka PIT) is a state of the art mutation testing system for Java and the JVM. Read all about it at http://pitest.org Releases 1.7.3 #952 Mutate

Dec 26, 2022
Owner
Navjot Singh Rakhra
Student
Navjot Singh Rakhra
Traditional roguelike game with pixel-art graphics and simple interface

Traditional roguelike game with pixel-art graphics and simple interface

Evan Debenham 2.5k Dec 30, 2022
Roman Beskrovnyi 250 Jan 9, 2023
VisionCamera Frame Processor Plugin to label images using MLKit Vision

vision-camera-image-labeler A VisionCamera Frame Processor Plugin to label images using MLKit Vision Image Labeling. Installation npm install vision-c

Marc Rousavy 72 Dec 20, 2022
A VisionCamera Frame Processor Plugin to preform text detection on images using MLKit Vision Text Recognition

vision-camera-ocr A VisionCamera Frame Processor Plugin to preform text detection on images using MLKit Vision Text Recognition. Installation yarn add

Aaron Grider 133 Dec 19, 2022
Java interface to OpenCV, FFmpeg, and more

JavaCV Commercial support: Introduction JavaCV uses wrappers from the JavaCPP Presets of commonly used libraries by researchers in the field of comput

Bytedeco 6.4k Jan 4, 2023
Simple Java image-scaling library implementing Chris Campbell's incremental scaling algorithm as well as Java2D's "best-practices" image-scaling techniques.

imgscalr - Java Image-Scaling Library http://www.thebuzzmedia.com/software/imgscalr-java-image-scaling-library/ Changelog --------- 4.2 * Added sup

Riyad Kalla 1.1k Jan 5, 2023
Java JNA wrapper for Tesseract OCR API

Tess4J A Java JNA wrapper for Tesseract OCR API. Tess4J is released and distributed under the Apache License, v2.0. Features The library provides opti

Quan Nguyen 1.3k Dec 28, 2022
Thumbnailator - a thumbnail generation library for Java

March 11, 2021: Thumbnailator 0.4.14 has been released! See Changes for details. Thumbnailator is now available through Maven! What is Thumbnailator?

Chris Kroells 4.5k Jan 5, 2023
TwelveMonkeys ImageIO: Additional plug-ins and extensions for Java's ImageIO

About TwelveMonkeys ImageIO is a collection of plugins and extensions for Java's ImageIO. These plugins extend the number of image file formats suppor

Harald Kuhr 1.6k Jan 5, 2023
ZXing ("Zebra Crossing") barcode scanning library for Java, Android

Project in Maintenance Mode Only The project is in maintenance mode, meaning, changes are driven by contributed patches. Only bug fixes and minor enha

ZXing Project 30.5k Jan 4, 2023