<< Chapter < Page
  Digital signal processing - dsp     Page 21 / 24
Chapter >> Page >
Listing 25. Processing the other three ranges.
}else if(((int)data[row][col]>63)&&((int)data[row][col]<= 127)){ int temp = 4 * ((int)data[row][col]- 64); green = 255;blue = 255 - temp;}else if(((int)data[row][col]>127)&&((int)data[row][col]<= 191)){ int temp = 4 * ((int)data[row][col]- 128); green = 255;red = temp;}else if(((int)data[row][col]>191)&&((int)data[row][col]<= 254)){ int temp = 4 * ((int)data[row][col]- 192); red = 255;green = 255 - temp; }//end else

Gradient from aqua to green

The second range produces a smooth gradient from aqua to green. In this range, the green color value is held constant at 255 and the blue color value iscaused to decrease in inverse proportion to the normalized color value.

Gradient from green to yellow

The third range produces a smooth gradient from green to yellow. (Yellow is produced by mixing equal amounts of red and green.) Within this range, green is held constant at a value of 255 and the value of red increases indirect proportion to the normalized elevation value.

Gradient from yellow to red

The fourth range produces a smooth gradient from yellow to red. Within this range, the value of red is held constant at 255 and the value of green decreasesin inverse proportion to the normalized elevation value.

A homework assignment

A useful homework assignment would be for you to modify the program as follows:

Subdivide the total range into eight sub ranges instead of four as I did. Choose four additional colors that you can produce by mixing variouslevels of red, green, and blue. Modify the code to cause the colors to vary with a smooth gradient through those eight colors in succession.

The rest of the overridden paint method

The rest of the overridden paint method for this class is essentially the same as the code that I explained in Listing 16 through Listing 18 . Having set the current plotting color, the method goes on to paint a square of pixels in that color at the correct location. Then it draws the optional redaxes if specified. Therefore, I won't repeat that explanation. You can view this code in Listing 29 near the end of the module.

The class named CanvasType1scale

The inner class named CanvasType1scale is used to construct a color scale that matches the color algorithm used in the class named CanvasType1surface .

The overridden paint method for this class replicates the color algorithm in the overridden paint method for the CanvasType1surface class.

Except for the difference in the overridden paint method, the structure of this class is the same as the class named CanvasType0scale , which I discussed earlier beginning with Listing 19 . Therefore, I won't repeat that discussion here. You can view the class in Listing 29 near the end of the module.

Color Contour plot format

The class named CanvasType2surface is an inner class used to instantiate an object that plots a surface where each elevation on the surfaceis represented by a color taken from a color palette containing a finite number of colors. As written, the color palette contains 23 different colors and shadesof gray, but you can easily increase that number if you would like to do so.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Digital signal processing - dsp. OpenStax CNX. Jan 06, 2016 Download for free at https://legacy.cnx.org/content/col11642/1.38
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?

Ask