Question
Write a program in java that: 1. Reads the image data file original.txt into your program, (file contains the following numbers): 1122333444 0011223334 0000011223 5000000001
Write a program in java that:
1. Reads the image data file original.txt into your program, (file contains the following numbers):
1122333444
0011223334
0000011223
5000000001
5550000000
5555550000
5555555555
then output another file with the image data converted to ASCII symbols that represent the darkness of each pixel.
a. You must create a class called Image to represent the image
b. This class should accept image data in the form of a 2-dimentional integer matrix.
**This class should not import Scanner, System.io, File, etc. (after all this data matrix might come from another source, another object, who knows). **
c. You should create a second class, called pictureOutput that handles file and console input and output, along with conversion of data to a Java array that can be passed to Image.
-In addition to reading in a data file and converting it to a Java array, pictureOutput should also be able to accept an Image object and write its contents to disk.
-In addition to simply writing the raw data, pictureOutput should be able to convert that data to ASCII art, and write the ASCII version of the image to disk. Use the following to handle this conversion:
0 = space
1 = .
2 = :
3 = o
4 = O
5 = $
2. Create a utility Object similar to Math called pictureEdit that contains methods for working with and manipulating images
a. pictureEdit must accept Image objects as method parameters as its primary means of receiving image data. No passing arrays! Use proper object-oriented style! b. pictureEdit must also implement at least two methods in some way related to manipulating images. This may include:
i. Rotating the image 90 degrees or 180 degrees
ii. Flipping the image vertically or horizontally or diagonally
iii. Cropping the image
1. I imagine something like crop(myImage, 0, 1,2,0) which would remove 0 rows from the top, 1 from the left, 2 from the bottom, and 0 from the left. Your call on specifics, though.
iv. Adding a border to the image 1. surround (myImage, 5, 2) would add a border of darkness value 5 that is 2 pixels wide around the entire image. Your call on specifics, though.
v. Whatever else you feel like doing: image compression, combining two images together, darkening or lightening the image by changing the values of the pixels, or whatever you feel like doing. Its up to you;
c. pictureEdit must contain at least one method that is declared using the static keyword, (much as Math.sqrt() is declared statically) and you must demonstrate proper use of it in main().
3. All 3 objects must be contained in a package called EasyPicture
4. In this package, you must also include a class called picTest that contains main() and demonstrates the successful completions of the requirements of this assignment. The code in main() should:
a. Read in the data from original.txt
b. Create a Java array from that data
c. Create an Image object from that array
d. Convert that Image object to ASCII art
e. Write the ASCII version to disk
f. Perform at least 2 manipulations on that image i. (Please only perform these manipulations on the data found in original.txt, and not on Images that have already been manipulated.)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started