Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
javax.imageio.ImageTypeSpecifier
public class ImageTypeSpecifier
extends Object
Field Summary | |
protected ColorModel |
|
protected SampleModel |
|
Constructor Summary | |
| |
|
Method Summary | |
static ImageTypeSpecifier |
|
BufferedImage |
|
static ImageTypeSpecifier |
|
static ImageTypeSpecifier |
|
static ImageTypeSpecifier |
|
static ImageTypeSpecifier |
|
static ImageTypeSpecifier |
|
static ImageTypeSpecifier |
|
static ImageTypeSpecifier |
|
int |
|
int |
|
ColorModel |
|
int |
|
int |
|
SampleModel |
|
SampleModel |
|
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
public ImageTypeSpecifier(ColorModel colorModel, SampleModel sampleModel)
Construct an image type specifier with the given models.
- Parameters:
colorModel
- the color modelsampleModel
- the sample model
- Throws:
IllegalArgumentException
- if either model argument is nullIllegalArgumentException
- if the models are incompatible with one another
public ImageTypeSpecifier(RenderedImage image)
Construct an image type specifier that describes the given rendered image.
- Parameters:
image
- a rendered image
- Throws:
IllegalArgumentException
- if image is null
public static ImageTypeSpecifier createBanded(ColorSpace colorSpace, int[] bankIndices, int[] bankOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
Create an image type specifier for a banded image using a component color model and a banded sample model.
- Parameters:
colorSpace
- the color spacebankIndices
- the bank indices at which each band will be storedbankOffsets
- the starting band offset for each band within its bankdataType
- the data type, a DataBuffer constanthasAlpha
- true if this image type specifier should have an alpha component, false otherwiseisAlphaPremultiplied
- true if other color components should be premultiplied by the alpha component, false otherwise
- Returns:
- a banded image type specifier
- Throws:
IllegalArgumentException
- if any of colorSpace, bankIndices or bankOffsets is nullIllegalArgumentException
- if bankIndices and bankOffsets differ in length
public BufferedImage createBufferedImage(int width, int height)
Create a buffered image with the given dimensions using that has the characteristics specified by this image type specifier.
- Parameters:
width
- width of the buffered image, in pixelsheight
- the height of the buffered image, in pixels
- Returns:
- a buffered image
- Throws:
IllegalArgumentException
- if either width or height is less than or equal to zeroIllegalArgumentException
- if width * height is greater than Integer.MAX_VALUE or if the storage required is greater than Integer.MAX_VALUE
public static ImageTypeSpecifier createFromBufferedImageType(int bufferedImageType)
Create an image type specifier that describes the given buffered image type.
- Parameters:
bufferedImageType
- the buffered image type to represent with the returned image type specifier
- Returns:
- a new image type specifier
- Throws:
IllegalArgumentException
- if bufferedImageType is not a BufferedImage constant or is BufferedImage.TYPE_CUSTOM
public static ImageTypeSpecifier createFromRenderedImage(RenderedImage image)
Create an image type specifier that describes the given rendered image's type.
- Parameters:
image
- the rendered image
- Returns:
- a new image type specifier
- Throws:
IllegalArgumentException
- if image is null
public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned)
Create a grayscale image type specifier, given the number of bits, data type and whether or not the data is signed.
- Parameters:
bits
- the number of bits used to specify a greyscale valuedataType
- a DataBuffer type constantisSigned
- true if this type specifier should support negative values, false otherwise
- Returns:
- a greyscal image type specifier
- Throws:
IllegalArgumentException
- if bits is not 1, 2, 4, 8 or 16IllegalArgumentException
- if dataType is not DataBuffer.TYPE_BYTE, DataBuffer.TYPE_SHORT or DataBuffer.TYPE_USHORT
public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned, boolean isAlphaPremultiplied)
Create a grayscale image type specifier, given the number of bits, data type and whether or not the data is signed.
- Parameters:
bits
- the number of bits used to specify a greyscale valuedataType
- a DataBuffer type constantisSigned
- true if this type specifier should support negative values, false otherwise
- Returns:
- a greyscal image type specifier
- Throws:
IllegalArgumentException
- if bits is not 1, 2, 4, 8 or 16IllegalArgumentException
- if dataType is not DataBuffer.TYPE_BYTE, DataBuffer.TYPE_SHORT or DataBuffer.TYPE_USHORT
public static ImageTypeSpecifier createIndexed(byte[] redLUT, byte[] greenLUT, byte[] blueLUT, byte[] alphaLUT, int bits, int dataType)
Return an image type specifier for an image that uses an indexed colour model where each colour value has the specified number of bits and type and where the colour tables are those given.
- Parameters:
redLUT
- the red index valuesgreenLUT
- the green index valuesblueLUT
- the blue index valuesalphaLUT
- the alpha index valuesbits
- the number of bits per index valuedataType
- the type of each index value
- Returns:
- an indexed image type specifier
- Throws:
IllegalArgumentException
- if any of the colour arrays, not including alphaLUT, is nullIllegalArgumentException
- if bits is not 1, 2, 4, 8 or 16IllegalArgumentException
- if dataType is not DataBuffer.TYPE_BYTE, DataBuffer.TYPE_SHORT or DataBuffer.TYPE_USHORT
public static ImageTypeSpecifier createInterleaved(ColorSpace colorSpace, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
Create an image type specifier that uses a component colour model and a pixel interleaved sample model. Each pixel component will be stored in a separate value of the given data type.
- Parameters:
colorSpace
- the colour space used by the colour modelbandOffsets
- the starting band offset for each band within its bankdataType
- the type of each pixel valuehasAlpha
- true if an alpha channel should be specified, false otherwiseisAlphaPremultiplied
- true if other colour channels should be premultiplied by the alpha value, false otherwise
- Returns:
- an interleaved image type specifier
- Throws:
IllegalArgumentException
- if either colorSpace or bandOffsets is null
public static ImageTypeSpecifier createPacked(ColorSpace colorSpace, int redMask, int greenMask, int blueMask, int alphaMask, int transferType, boolean isAlphaPremultiplied)
Create an image type specifier using a direct color model and a packed sample model. All pixel components will be packed into one value of the given data type.
- Parameters:
colorSpace
- the color space to use in the color modelredMask
- the bitmask for the red bitsgreenMask
- the bitmask for the green bitsblueMask
- the bitmask for the blue bitsalphaMask
- the bitmask for the alpha bitstransferType
- the data type used to store pixel valuesisAlphaPremultiplied
- true if other colour channels should be premultiplied by the alpha value, false otherwise
- Returns:
- a packed image type specifier
- Throws:
IllegalArgumentException
- if colorSpace is nullIllegalArgumentException
- if colorSpace does not have type ColorSpace.TYPE_RGBIllegalArgumentException
- if all masks are 0IllegalArgumentException
- if dataType is not DataBuffer.TYPE_BYTE, DataBuffer.TYPE_SHORT or DataBuffer.TYPE_INT
public int getBitsPerBand(int band)
Get the number of bits per sample in the given band.
- Parameters:
band
- the band from which to get the number of bits
- Returns:
- the number of bits in the given band
- Throws:
IllegalArgumentException
- if band is out-of-bounds
public int getBufferedImageType()
Get the buffered image constant specified by this image type specifier.
- Returns:
- a buffered image constant
public ColorModel getColorModel()
Get the color model specified by this image type specifier.
- Returns:
- the color model
public int getNumBands()
Get the number of bands specified by this image type specifier's sample model.
- Returns:
- the number of bands in the sample model
public int getNumComponents()
Get the number of components specified by this image type specifier's color model.
- Returns:
- the number of color components per pixel
public SampleModel getSampleModel()
Get the sample model specified by this image type specifier.
- Returns:
- the sample model
public SampleModel getSampleModel(int width, int height)
Create a sample model that is compatible with the one specified by this image type specifier, with the given dimensions.
- Parameters:
width
- the width of the returned sample modelheight
- the height of the returned sample model
- Returns:
- a sample model compatible with the one in this image type specifier, with the given dimensions
- Throws:
IllegalArgumentException
- if either width or height is less than or equal to 0IllegalArgumentException
- if width * height is greater than Intere.MAX_VALUE