<< Chapter < Page
  Digital signal processing - dsp     Page 19 / 24
Chapter >> Page >

The code in Listing 19 establishes the size of the calibration scale surface.

The overridden paint method

Listing 20 shows the overridden paint method that is used to plot the calibration scale for the Grayscale plot format.

Listing 20. The overridden paint method.
public void paint(Graphics g){ //Vary from white to black going from 255// to 0. Color color = null;//Don't draw in top row. Leave it blank to // separate the scale strip from the// drawing of the surface above it. for(int row = 1;row<scaleHeight;row++){ for(int col = 0;col<dataWidth;col++){//Compute the value of the scale // surface.int scaleValue = 255 * col/ (dataWidth - 1);//See the class named // CanvasType0surface for explanatory// comments regarding the following // color algorithm.int red = scaleValue; int green = red;int blue = red; color = new Color(red,green,blue);g.setColor(color); g.fillRect(col * blockSize,row * blockSize, blockSize,blockSize); }//end col loop}//end row loop }//end paint}//end inner class CanvasType0scale

Because you already understand the color algorithm for the Grayscale plot format, the code in Listing 20 should not require further explanation. This code establishes the elevation level for each point on the calibration surface andpaints the box that represents that elevation in the appropriate color.

Color Shift plot format

The CanvasType1surface class is used to instantiate an object that represents a normalized 3D surface with the colors ranging from blueat the low elevations through aqua, green, and yellow to red at the high elevations with a smooth gradient from 1 to 254.

(The lowest elevation with a value of 0 is colored black. The highest elevation with a value of 255 is colored white.)

The center image in Figure 1 is an example of this plotting format.

Beginning of the class named CanvasType1surface

The beginning of the class and the constructor for the class named CanvasType1surface are shown in Listing 21 .

Listing 21. Beginning of the class named CanvasType1surface.
class CanvasType1surface extends Canvas{CanvasType1surface(){//constructor //Set the size of the Canvas based on the// size of the surface and the size of the // square used to represent each value on// the surface. setSize(dataWidth * blockSize,dataHeight * blockSize); getCenter();}//end constructor

The beginning of each of the three classes that produce the three plotting formats is essentially the same. Therefore, the code in Listing 21 is essentially the same as the code in Listing 14 and should not require further explanation. The significant differences between the three classes lie in theiroverridden paint methods.

Overridden paint Method

The overridden paint method for this class, which begins in Listing 22 , is probably the most complex of the three.

Listing 22. Beginning of the overridden paint method.
public void paint(Graphics g){ Color color = null;for(int row = 0;row<dataHeight;row++){ for(int col = 0;col<dataWidth;col++){ int red = 0;int green = 0; int blue = 0;

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