CONTENTS | PREV | NEXT | Java 2DTM API |
The abstract SampleModel class defines methods for extracting samples of an image without knowing how the underlying data is stored. The class provides fields for tracking the height and width of the image data in the associated DataBuffer , and for describing the number of bands and the data type of that buffer. SampleModel methods provide image data as a collection of pixels, with each pixel consisting of a number of samples or components.The java.awt.image package provides five types of sample models:
- ComponentSampleModel--used to extract pixels from images that store sample data in separate data array elements in one bank of a DataBuffer.
- BandedSampleModel--used to extract pixels from images that store each sample in a separate data element with bands stored in a sequence of data elements
- PixelInterleavedSampleModel--used to extract pixels from images that store each sample in a separate data element with pixels stored in a sequence of data elements.
- MultiPixelPackedSampleModel--used to extract pixels from single banded images that store multiple one-sample pixels in one data element.
- SinglePixelPackedSampleModel--used to extract samples from images that store sample data for a single pixel in one data array element in the first bank of a DataBuffer.
Pixel data presented by the SampleModel may or may not correlate directly to a color data representation of a particular color model, depending on the data source. For example, in photographic image data, the samples may represent RGB data. In image data from a medical imaging device, samples can represent different types of data such as temperature or bone density.There are three categories of methods for accessing image data. The getPixel methods return a whole pixel as an array, with one entry for each sample. The getDataElement methods provide access to the raw, uninterpreted data stored in the DataBuffer. The getSample methods provide access to pixel components for a specific band.