public class ImageTypeSpecifier extends Object
SampleModel and ColorModel) to be
specified in a convenient manner.| Modifier and Type | Field and Description |
|---|---|
protected ColorModel |
colorModel
The
ColorModel to be used as a prototype. |
protected SampleModel |
sampleModel
A
SampleModel to be used as a prototype. |
| Constructor and Description |
|---|
ImageTypeSpecifier(ColorModel colorModel,
SampleModel sampleModel)
Constructs an
ImageTypeSpecifier directly
from a ColorModel and a SampleModel. |
ImageTypeSpecifier(RenderedImage image)
Constructs an
ImageTypeSpecifier from a
RenderedImage. |
| Modifier and Type | Method and Description |
|---|---|
static ImageTypeSpecifier |
createBanded(ColorSpace colorSpace,
int[] bankIndices,
int[] bandOffsets,
int dataType,
boolean hasAlpha,
boolean isAlphaPremultiplied)
Returns a specifier for a banded image format that will use a
ComponentColorModel and a
BandedSampleModel to store each channel in a
separate array. |
BufferedImage |
createBufferedImage(int width,
int height)
Creates a
BufferedImage with a given width and
height according to the specification embodied in this object. |
static ImageTypeSpecifier |
createFromBufferedImageType(int bufferedImageType)
Returns an
ImageTypeSpecifier that encodes
one of the standard BufferedImage types
(other than TYPE_CUSTOM). |
static ImageTypeSpecifier |
createFromRenderedImage(RenderedImage image)
Returns an
ImageTypeSpecifier that encodes the
layout of a RenderedImage (which may be a
BufferedImage). |
static ImageTypeSpecifier |
createGrayscale(int bits,
int dataType,
boolean isSigned)
Returns a specifier for a grayscale image format that will pack
pixels of the given bit depth into array elements of
the specified data type.
|
static ImageTypeSpecifier |
createGrayscale(int bits,
int dataType,
boolean isSigned,
boolean isAlphaPremultiplied)
Returns a specifier for a grayscale plus alpha image format
that will pack pixels of the given bit depth into array
elements of the specified data type.
|
static ImageTypeSpecifier |
createIndexed(byte[] redLUT,
byte[] greenLUT,
byte[] blueLUT,
byte[] alphaLUT,
int bits,
int dataType)
Returns a specifier for an indexed-color image format that will pack
index values of the given bit depth into array elements of
the specified data type.
|
static ImageTypeSpecifier |
createInterleaved(ColorSpace colorSpace,
int[] bandOffsets,
int dataType,
boolean hasAlpha,
boolean isAlphaPremultiplied)
Returns a specifier for an interleaved image format that will
use a
ComponentColorModel and a
PixelInterleavedSampleModel to store each pixel
component in a separate byte, short, or int. |
static ImageTypeSpecifier |
createPacked(ColorSpace colorSpace,
int redMask,
int greenMask,
int blueMask,
int alphaMask,
int transferType,
boolean isAlphaPremultiplied)
Returns a specifier for a packed image format that will use a
DirectColorModel and a packed
SampleModel to store each pixel packed into in a
single byte, short, or int. |
boolean |
equals(Object o)
Returns
true if the given Object is
an ImageTypeSpecifier and has a
SampleModel and ColorModel that are
equal to those of this object. |
int |
getBitsPerBand(int band)
Return the number of bits used to represent samples of the given band.
|
int |
getBufferedImageType()
Returns an int containing one of the enumerated constant values
describing image formats from
BufferedImage. |
ColorModel |
getColorModel()
Returns the
ColorModel specified by this object. |
int |
getNumBands()
Return the number of bands
specified by this object.
|
int |
getNumComponents()
Return the number of color components
specified by this object.
|
SampleModel |
getSampleModel()
Returns a
SampleModel based on the settings
encapsulated within this object. |
SampleModel |
getSampleModel(int width,
int height)
Returns a
SampleModel based on the settings
encapsulated within this object. |
int |
hashCode()
Returns the hash code for this ImageTypeSpecifier.
|
protected ColorModel colorModel
ColorModel to be used as a prototype.protected SampleModel sampleModel
SampleModel to be used as a prototype.public ImageTypeSpecifier(ColorModel colorModel, SampleModel sampleModel)
ImageTypeSpecifier directly
from a ColorModel and a SampleModel.
It is the caller's responsibility to supply compatible
parameters.colorModel - a ColorModel.sampleModel - a SampleModel.IllegalArgumentException - if either parameter is
null.IllegalArgumentException - if sampleModel
is not compatible with colorModel.public ImageTypeSpecifier(RenderedImage image)
ImageTypeSpecifier from a
RenderedImage. If a BufferedImage is
being used, one of the factory methods
createFromRenderedImage or
createFromBufferedImageType should be used instead in
order to get a more accurate result.image - a RenderedImage.IllegalArgumentException - if the argument is
null.public static ImageTypeSpecifier createPacked(ColorSpace colorSpace, int redMask, int greenMask, int blueMask, int alphaMask, int transferType, boolean isAlphaPremultiplied)
DirectColorModel and a packed
SampleModel to store each pixel packed into in a
single byte, short, or int.colorSpace - the desired ColorSpace.redMask - a contiguous mask indicated the position of the
red channel.greenMask - a contiguous mask indicated the position of the
green channel.blueMask - a contiguous mask indicated the position of the
blue channel.alphaMask - a contiguous mask indicated the position of the
alpha channel.transferType - the desired SampleModel transfer type.isAlphaPremultiplied - true if the color channels
will be premultipled by the alpha channel.ImageTypeSpecifier with the desired
characteristics.IllegalArgumentException - if colorSpace
is null.IllegalArgumentException - if colorSpace
is not of type TYPE_RGB.IllegalArgumentException - if no mask has at least 1
bit set.IllegalArgumentException - if
transferType if not one of
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT, or
DataBuffer.TYPE_INT.public static ImageTypeSpecifier createInterleaved(ColorSpace colorSpace, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
ComponentColorModel and a
PixelInterleavedSampleModel to store each pixel
component in a separate byte, short, or int.colorSpace - the desired ColorSpace.bandOffsets - an array of ints indicating the
offsets for each band.dataType - the desired data type, as one of the enumerations
from the DataBuffer class.hasAlpha - true if an alpha channel is desired.isAlphaPremultiplied - true if the color channels
will be premultipled by the alpha channel.ImageTypeSpecifier with the desired
characteristics.IllegalArgumentException - if colorSpace
is null.IllegalArgumentException - if bandOffsets
is null.IllegalArgumentException - if dataType is
not one of the legal DataBuffer.TYPE_* constants.IllegalArgumentException - if
bandOffsets.length does not equal the number of
color space components, plus 1 if hasAlpha is
true.public static ImageTypeSpecifier createBanded(ColorSpace colorSpace, int[] bankIndices, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
ComponentColorModel and a
BandedSampleModel to store each channel in a
separate array.colorSpace - the desired ColorSpace.bankIndices - an array of ints indicating the
bank in which each band will be stored.bandOffsets - an array of ints indicating the
starting offset of each band within its bank.dataType - the desired data type, as one of the enumerations
from the DataBuffer class.hasAlpha - true if an alpha channel is desired.isAlphaPremultiplied - true if the color channels
will be premultipled by the alpha channel.ImageTypeSpecifier with the desired
characteristics.IllegalArgumentException - if colorSpace
is null.IllegalArgumentException - if bankIndices
is null.IllegalArgumentException - if bandOffsets
is null.IllegalArgumentException - if the lengths of
bankIndices and bandOffsets differ.IllegalArgumentException - if
bandOffsets.length does not equal the number of
color space components, plus 1 if hasAlpha is
true.IllegalArgumentException - if dataType is
not one of the legal DataBuffer.TYPE_* constants.public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned)
bits - the number of bits per gray value (1, 2, 4, 8, or 16).dataType - the desired data type, as one of the enumerations
from the DataBuffer class.isSigned - true if negative values are to
be represented.ImageTypeSpecifier with the desired
characteristics.IllegalArgumentException - if bits is
not one of 1, 2, 4, 8, or 16.IllegalArgumentException - if dataType is
not one of DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_SHORT, or
DataBuffer.TYPE_USHORT.IllegalArgumentException - if bits is
larger than the bit size of the given dataType.public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned, boolean isAlphaPremultiplied)
bits - the number of bits per gray value (1, 2, 4, 8, or 16).dataType - the desired data type, as one of the enumerations
from the DataBuffer class.isSigned - true if negative values are to
be represented.isAlphaPremultiplied - true if the luminance channel
will be premultipled by the alpha channel.ImageTypeSpecifier with the desired
characteristics.IllegalArgumentException - if bits is
not one of 1, 2, 4, 8, or 16.IllegalArgumentException - if dataType is
not one of DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_SHORT, or
DataBuffer.TYPE_USHORT.IllegalArgumentException - if bits is
larger than the bit size of the given dataType.public static ImageTypeSpecifier createIndexed(byte[] redLUT, byte[] greenLUT, byte[] blueLUT, byte[] alphaLUT, int bits, int dataType)
redLUT - an array of bytes containing
the red values for each index.greenLUT - an array of bytes containing * the
green values for each index.blueLUT - an array of bytes containing the
blue values for each index.alphaLUT - an array of bytes containing the
alpha values for each index, or null to create a
fully opaque LUT.bits - the number of bits in each index.dataType - the desired output type, as one of the enumerations
from the DataBuffer class.ImageTypeSpecifier with the desired
characteristics.IllegalArgumentException - if redLUT is
null.IllegalArgumentException - if greenLUT is
null.IllegalArgumentException - if blueLUT is
null.IllegalArgumentException - if bits is
not one of 1, 2, 4, 8, or 16.IllegalArgumentException - if the
non-null LUT parameters do not have lengths of
exactly 1 << bits.IllegalArgumentException - if dataType is
not one of DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_USHORT,
or DataBuffer.TYPE_INT.IllegalArgumentException - if bits is
larger than the bit size of the given dataType.public static ImageTypeSpecifier createFromBufferedImageType(int bufferedImageType)
ImageTypeSpecifier that encodes
one of the standard BufferedImage types
(other than TYPE_CUSTOM).bufferedImageType - an int representing one of the standard
BufferedImage types.ImageTypeSpecifier with the desired
characteristics.IllegalArgumentException - if
bufferedImageType is not one of the standard
types, or is equal to TYPE_CUSTOM.BufferedImage,
BufferedImage.TYPE_INT_RGB,
BufferedImage.TYPE_INT_ARGB,
BufferedImage.TYPE_INT_ARGB_PRE,
BufferedImage.TYPE_INT_BGR,
BufferedImage.TYPE_3BYTE_BGR,
BufferedImage.TYPE_4BYTE_ABGR,
BufferedImage.TYPE_4BYTE_ABGR_PRE,
BufferedImage.TYPE_USHORT_565_RGB,
BufferedImage.TYPE_USHORT_555_RGB,
BufferedImage.TYPE_BYTE_GRAY,
BufferedImage.TYPE_USHORT_GRAY,
BufferedImage.TYPE_BYTE_BINARY,
BufferedImage.TYPE_BYTE_INDEXEDpublic static ImageTypeSpecifier createFromRenderedImage(RenderedImage image)
ImageTypeSpecifier that encodes the
layout of a RenderedImage (which may be a
BufferedImage).image - a RenderedImage.ImageTypeSpecifier with the desired
characteristics.IllegalArgumentException - if image is
null.public int getBufferedImageType()
BufferedImage.int representing a
BufferedImage type.BufferedImage,
BufferedImage.TYPE_CUSTOM,
BufferedImage.TYPE_INT_RGB,
BufferedImage.TYPE_INT_ARGB,
BufferedImage.TYPE_INT_ARGB_PRE,
BufferedImage.TYPE_INT_BGR,
BufferedImage.TYPE_3BYTE_BGR,
BufferedImage.TYPE_4BYTE_ABGR,
BufferedImage.TYPE_4BYTE_ABGR_PRE,
BufferedImage.TYPE_USHORT_565_RGB,
BufferedImage.TYPE_USHORT_555_RGB,
BufferedImage.TYPE_BYTE_GRAY,
BufferedImage.TYPE_USHORT_GRAY,
BufferedImage.TYPE_BYTE_BINARY,
BufferedImage.TYPE_BYTE_INDEXEDpublic int getNumComponents()
ColorModel.getNumComponentspublic int getNumBands()
SampleModel.getNumBandspublic int getBitsPerBand(int band)
band - the index of the band to be queried, as an
int.IllegalArgumentException - if band is
negative or greater than the largest band index.public SampleModel getSampleModel()
SampleModel based on the settings
encapsulated within this object. The width and height of the
SampleModel will be set to arbitrary values.SampleModel with arbitrary dimensions.public SampleModel getSampleModel(int width, int height)
SampleModel based on the settings
encapsulated within this object. The width and height of the
SampleModel will be set to the supplied values.width - the desired width of the returned SampleModel.height - the desired height of the returned
SampleModel.SampleModel with the given dimensions.IllegalArgumentException - if either width or
height are negative or zero.IllegalArgumentException - if the product of
width and height is greater than
Integer.MAX_VALUEpublic ColorModel getColorModel()
ColorModel specified by this object.ColorModel.public BufferedImage createBufferedImage(int width, int height)
BufferedImage with a given width and
height according to the specification embodied in this object.width - the desired width of the returned
BufferedImage.height - the desired height of the returned
BufferedImage.BufferedImageIllegalArgumentException - if either width or
height are negative or zero.IllegalArgumentException - if the product of
width and height is greater than
Integer.MAX_VALUE, or if the number of array
elements needed to store the image is greater than
Integer.MAX_VALUE.public boolean equals(Object o)
true if the given Object is
an ImageTypeSpecifier and has a
SampleModel and ColorModel that are
equal to those of this object.equals in class Objecto - the Object to be compared for equality.true if the given object is an equivalent
ImageTypeSpecifier.Object.hashCode(),
HashMappublic int hashCode()
hashCode in class ObjectObject.equals(java.lang.Object),
System.identityHashCode(java.lang.Object) Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.