<< Chapter < Page Chapter >> Page >

Implementation of the algorithm

The algorithm is implemented by the code in a conventional for loop, which begins in Listing 4 .

Listing 4 . Beginning of the for loop.
for(int cnt = 0;cnt<pixels.length;cnt++){ pixel = pixels[cnt];green = pixel.getGreen();blue = pixel.getBlue();

The loop iterates through the array of Pixel data, modifying the colors in one pixel during each iteration.

The length property of the array object

Every array object in Java contains a length property that contains the number of elements in the array. The value of this property is used in theconditional clause in the for loop in Listing 4 to establish when the end of the array has been reached in order to terminate the loop.

Get reference to the next Pixel object

The first statement inside the for loop in Listing 4 gets a reference to a Pixel object from the next array element. That reference is stored in the local variable of type Pixel named pixel that was declared in Listing 3 .

Get the red and green color values for the current pixel

Having gotten a reference to the Pixel object, the next statement calls the getGreen method on that reference to get and save the value of the green color component in the current pixel.

Similarly, the statement following that one gets and saves the value of the blue color component in the current pixel.

Both values are returned as type int , and can range in value from 0 up to and including 255.

Objective is to scale the green and blue color values

Recall that the objective is to scale the green and blue color values on a column by column basis, going from left to right across the image shown in Figure 1 in order to produce the output image shown in Figure 2 .

Organization of the pixel data

The pixel data is stored in the array on a row by row basis. In other words, the first width elements contain references to pixels in the first row of pixels going from left to right across the screen. The next width elements contain references to pixels in the second row of pixels, etc.

Compute the column number and scale factors

Listing 5 uses the modulus operator to compute the column number for each Pixel object.

Listing 5 . Compute the column number and scale factors.
//Compute the column number and use it to compute // the scale factor.int col = cnt%width;greenScale = (double)(width - col)/width; blueScale = (double)(col)/width;

An exercise for the student

Knowing the column number in which the pixel is located, the next step is to compute the green and blue scale factors necessary to satisfy the algorithm.

I will leave it as an exercise for the student to think about how the expressions contained in the last two statements in Listing 5 cause the two scale factors to vary linearly from left to right across the image in accordance with the requirements of the algorithm. (Think about the equation of a straight line from your high school math classes.)

Apply the scale factors

The Pixel class contains methods named setRed , setGreen , and setBlue that can be called to set the color values for the pixel represented by a Pixel object.

Questions & Answers

what is biology
Hajah Reply
the study of living organisms and their interactions with one another and their environments
AI-Robot
what is biology
Victoria Reply
HOW CAN MAN ORGAN FUNCTION
Alfred Reply
the diagram of the digestive system
Assiatu Reply
allimentary cannel
Ogenrwot
How does twins formed
William Reply
They formed in two ways first when one sperm and one egg are splited by mitosis or two sperm and two eggs join together
Oluwatobi
what is genetics
Josephine Reply
Genetics is the study of heredity
Misack
how does twins formed?
Misack
What is manual
Hassan Reply
discuss biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles
Joseph Reply
what is biology
Yousuf Reply
the study of living organisms and their interactions with one another and their environment.
Wine
discuss the biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles in an essay form
Joseph Reply
what is the blood cells
Shaker Reply
list any five characteristics of the blood cells
Shaker
lack electricity and its more savely than electronic microscope because its naturally by using of light
Abdullahi Reply
advantage of electronic microscope is easily and clearly while disadvantage is dangerous because its electronic. advantage of light microscope is savely and naturally by sun while disadvantage is not easily,means its not sharp and not clear
Abdullahi
cell theory state that every organisms composed of one or more cell,cell is the basic unit of life
Abdullahi
is like gone fail us
DENG
cells is the basic structure and functions of all living things
Ramadan
What is classification
ISCONT Reply
is organisms that are similar into groups called tara
Yamosa
in what situation (s) would be the use of a scanning electron microscope be ideal and why?
Kenna Reply
A scanning electron microscope (SEM) is ideal for situations requiring high-resolution imaging of surfaces. It is commonly used in materials science, biology, and geology to examine the topography and composition of samples at a nanoscale level. SEM is particularly useful for studying fine details,
Hilary
cell is the building block of life.
Condoleezza Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask