Subclasses of SampleModel specify the types of samples they can represent (e.g. unsigned 8-bit byte, signed 16-bit short, etc.) and may specify how the samples are organized in memory. In the Java 2D(tm) API, built-in image processing operators may not operate on all possible sample types, but generally will work for unsigned integral samples of 16 bits or less. Some operators support a wider variety of sample types.
A collection of pixels is represented as a Raster, which consists of a DataBuffer and a SampleModel. The SampleModel allows access to samples in the DataBuffer and may provide low-level information that a programmer can use to directly manipulate samples and pixels in the DataBuffer.
This class is generally a fall back method for dealing with images. More efficient code will cast the SampleModel to the appropriate subclass and extract the information needed to directly manipulate pixels in the DataBuffer.
java.awt.image.DataBuffer , java.awt.image.Raster , java.awt.image.ComponentSampleModel , java.awt.image.PixelInterleavedSampleModel , java.awt.image.BandedSampleModel , java.awt.image.MultiPixelPackedSampleModel , java.awt.image.SinglePixelPackedSampleModel
| Modifier and Type | Field and Description |
|---|---|
| protected int | dataType
Data type of the DataBuffer storing the pixel data. |
| protected int | height
Height in pixels of the region of image data that this SampleModel describes. |
| protected int | numBands
Number of bands of the image data that this SampleModel describes. |
| protected int | width
Width in pixels of the region of image data that this SampleModel describes. |
| Access | Constructor and Description |
|---|---|
| public | SampleModel(int
The data type of the DataBuffer storing the pixel data. dataType, int The width (in pixels) of the region of image data. w, int The height (in pixels) of the region of image data. h, int The number of bands of the image data. numBands)Constructs a SampleModel with the specified parameters. |
| Modifier and Type | Method and Description |
|---|---|
| public abstract SampleModel | Returns: aSampleModel describing the same image
data as this SampleModel, but with a
different size.the width of the image data w, int the height of the image data h)Creates a SampleModel which describes data in this SampleModel's format, but with a different width and height. |
| public abstract DataBuffer | Returns: aDataBuffer corresponding to this
SampleModel.Creates a DataBuffer that corresponds to this SampleModel. |
| public abstract SampleModel | Returns: aSampleModel with a subset of bands of this
SampleModel.the subset of bands of this bands)SampleModelCreates a new SampleModel with a subset of the bands of this SampleModel. |
| public abstract Object | Returns: the data elements for the specified pixel.The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, Object If non-null, a primitive array in which to return
the pixel data. obj, DataBuffer The DataBuffer containing the image data. data)Returns data for a single pixel in a primitive array of type TransferType. |
| public Object | Returns: the data elements for the specified region of pixels.The minimum X coordinate of the pixel rectangle. x, int The minimum Y coordinate of the pixel rectangle. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, Object If non-null, a primitive array in which to return
the pixel data. obj, DataBuffer The DataBuffer containing the image data. data)Returns the pixel data for the specified rectangle of pixels in a primitive array of type TransferType. |
| public final int | |
| public final int | Returns: the height in pixels of the region of image data that thisSampleModel describes.Returns the height in pixels. |
| public final int | Returns: the number of bands of image data that thisSampleModel describes.Returns the total number of bands of image data. |
| public abstract int | Returns: the number of data elements.Returns the number of data elements needed to transfer a pixel via the getDataElements and setDataElements methods. |
| public int[] | Returns: the samples for the specified pixel.The X coordinate of the pixel location x, int The Y coordinate of the pixel location y, int[] If non-null, returns the samples in this array iArray, DataBuffer The DataBuffer containing the image data data)Returns the samples for a specified pixel in an int array, one sample per array element. |
| public float[] | Returns: the samples for the specified pixel.The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, float[] If non-null, returns the samples in this array. fArray, DataBuffer The DataBuffer containing the image data. data)Returns the samples for the specified pixel in an array of float. |
| public double[] | Returns: the samples for the specified pixel.The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, double[] If non-null, returns the samples in this array. dArray, DataBuffer The DataBuffer containing the image data. data)Returns the samples for the specified pixel in an array of double. |
| public int[] | Returns: the samples for the specified region of pixels.The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, int[] If non-null, returns the samples in this array. iArray, DataBuffer The DataBuffer containing the image data. data)Returns all samples for a rectangle of pixels in an int array, one sample per array element. |
| public float[] | Returns: the samples for the specified region of pixels.The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, float[] If non-null, returns the samples in this array. fArray, DataBuffer The DataBuffer containing the image data. data)Returns all samples for a rectangle of pixels in a float array, one sample per array element. |
| public double[] | Returns: the samples for the specified region of pixels.The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, double[] If non-null, returns the samples in this array. dArray, DataBuffer The DataBuffer containing the image data. data)Returns all samples for a rectangle of pixels in a double array, one sample per array element. |
| public abstract int | Returns: the sample in a specified band for the specified pixel.The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, int The band to return. b, DataBuffer The DataBuffer containing the image data. data)Returns the sample in a specified band for the pixel located at (x,y) as an int. |
| public double | Returns: the sample in a specified band for the specified pixel.The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, int The band to return. b, DataBuffer The DataBuffer containing the image data. data)Returns the sample in a specified band for a pixel located at (x,y) as a double. |
| public float | Returns: the sample in a specified band for the specified pixel.The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, int The band to return. b, DataBuffer The DataBuffer containing the image data. data)Returns the sample in a specified band for the pixel located at (x,y) as a float. |
| public int[] | Returns: the samples for the specified band for the specified region of pixels.The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, int The band to return. b, int[] If non-null, returns the samples in this array. iArray, DataBuffer The DataBuffer containing the image data. data)Returns the samples for a specified band for the specified rectangle of pixels in an int array, one sample per array element. |
| public float[] | Returns: the samples for the specified band for the specified region of pixels.The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, int The band to return. b, float[] If non-null, returns the samples in this array. fArray, DataBuffer The DataBuffer containing the image data. data)Returns the samples for a specified band for the specified rectangle of pixels in a float array, one sample per array element. |
| public double[] | Returns: the samples for the specified band for the specified region of pixels.The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, int The band to return. b, double[] If non-null, returns the samples in this array. dArray, DataBuffer The DataBuffer containing the image data. data)Returns the samples for a specified band for a specified rectangle of pixels in a double array, one sample per array element. |
| public abstract int[] | Returns: the size of samples for all bands.Returns the size in bits of samples for all bands. |
| public abstract int | Returns: the size of the samples of the specified band.the specified band band)Returns the size in bits of samples for the specified band. |
| public int | Returns: the transfer type.Returns the TransferType used to transfer pixels via the getDataElements and setDataElements methods. |
| public final int | Returns: the width in pixels of the region of image data that thisSampleModel describes.Returns the width in pixels. |
| private static native void | |
| public abstract void | setDataElements(int
The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, Object A primitive array containing pixel data. obj, DataBuffer The DataBuffer containing the image data. data)Sets the data for a single pixel in the specified DataBuffer from a primitive array of type TransferType. |
| public void | setDataElements(int
The minimum X coordinate of the pixel rectangle. x, int The minimum Y coordinate of the pixel rectangle. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, Object A primitive array containing pixel data. obj, DataBuffer The DataBuffer containing the image data. data)Sets the data for a rectangle of pixels in the specified DataBuffer from a primitive array of type TransferType. |
| public void | setPixel(int
The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, int[] The input samples in an int array. iArray, DataBuffer The DataBuffer containing the image data. data)Sets a pixel in the DataBuffer using an int array of samples for input. |
| public void | setPixel(int
The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, float[] The input samples in a float array. fArray, DataBuffer The DataBuffer containing the image data. data)Sets a pixel in the DataBuffer using a float array of samples for input. |
| public void | setPixel(int
The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, double[] The input samples in a double array. dArray, DataBuffer The DataBuffer containing the image data. data)Sets a pixel in the DataBuffer using a double array of samples for input. |
| public void | setPixels(int
The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, int[] The input samples in an int array. iArray, DataBuffer The DataBuffer containing the image data. data)Sets all samples for a rectangle of pixels from an int array containing one sample per array element. |
| public void | setPixels(int
The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, float[] The input samples in a float array. fArray, DataBuffer The DataBuffer containing the image data. data)Sets all samples for a rectangle of pixels from a float array containing one sample per array element. |
| public void | setPixels(int
The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, double[] The input samples in a double array. dArray, DataBuffer The DataBuffer containing the image data. data)Sets all samples for a rectangle of pixels from a double array containing one sample per array element. |
| public abstract void | setSample(int
The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, int The band to set. b, int The input sample as an int. s, DataBuffer The DataBuffer containing the image data. data)Sets a sample in the specified band for the pixel located at (x,y) in the DataBuffer using an int for input. |
| public void | setSample(int
The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, int The band to set. b, float The input sample as a float. s, DataBuffer The DataBuffer containing the image data. data)Sets a sample in the specified band for the pixel located at (x,y) in the DataBuffer using a float for input. |
| public void | setSample(int
The X coordinate of the pixel location. x, int The Y coordinate of the pixel location. y, int The band to set. b, double The input sample as a double. s, DataBuffer The DataBuffer containing the image data. data)Sets a sample in the specified band for the pixel located at (x,y) in the DataBuffer using a double for input. |
| public void | setSamples(int
The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, int The band to set. b, int[] The input samples in an int array. iArray, DataBuffer The DataBuffer containing the image data. data)Sets the samples in the specified band for the specified rectangle of pixels from an int array containing one sample per array element. |
| public void | setSamples(int
The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, int The band to set. b, float[] The input samples in a float array. fArray, DataBuffer The DataBuffer containing the image data. data)Sets the samples in the specified band for the specified rectangle of pixels from a float array containing one sample per array element. |
| public void | setSamples(int
The X coordinate of the upper left pixel location. x, int The Y coordinate of the upper left pixel location. y, int The width of the pixel rectangle. w, int The height of the pixel rectangle. h, int The band to set. b, double[] The input samples in a double array. dArray, DataBuffer The DataBuffer containing the image data. data)Sets the samples in the specified band for the specified rectangle of pixels from a double array containing one sample per array element. |