Both the original grayscale image and the generated thumbnail image share some common properties. For example, both are two-dimensional images that can be stored in a file or manipulated in memory. The only differences are the size and contents of the images. For example, a thumbnail image produced by our class could also be used as the input image. For this design, an image class has the following properties:
Our initial design for the image class is this simple. On the surface, it appears to meet the design objectives. The image class definition is shown in Section 2.3.1 on page 12.