Class ImageUtil
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final voidcanEncodeImage(ImageWriter writer, ColorModel colorModel, SampleModel sampleModel) Checks that the providedImageWritercan encode the providedColorModelandSampleModel.static final voidcanEncodeImage(ImageWriter writer, ImageTypeSpecifier type) Checks that the providedImageWritercan encode the providedImageTypeSpecifieror not.static StringConverts the provided object toStringstatic ColorModelcreateColorModel(ColorSpace colorSpace, SampleModel sampleModel) static final ColorModelcreateColorModel(SampleModel sampleModel) Creates aColorModelthat may be used with the specifiedSampleModel.static longstatic final ImageTypeSpecifiergetDestinationType(ImageReadParam param, Iterator imageTypes) Gets the destination image type.static intstatic ListgetJDKImageReaderWriterSPI(ServiceRegistry registry, String formatName, boolean isReader) static byte[]getPackedBinaryData(Raster raster, Rectangle rect) For the case of binary data (isBinary()returnstrue), return the binary data as a packed byte array.static longstatic byte[]getUnpackedBinaryData(Raster raster, Rectangle rect) Returns the binary data unpacked into an array of bytes.static final booleanimageIsContiguous(RenderedImage image) Returns whether the image has contiguous data across rows.static booleanisBinary(SampleModel sm) static booleanTests whether the color indices represent a gray-scale image with the indicated number of bits over the color component range [0,255].static booleanisIndicesForGrayscale(byte[] r, byte[] g, byte[] b) Tests whether the color indices represent a gray-scale image.static booleanReturnstrueif the givenColorSpaceobject is an instance ofICC_ColorSpacebut is not one of the standardColorSpaces returned byColorSpace.getInstance().static voidprocessOnRegistration(ServiceRegistry registry, Class category, String formatName, ImageReaderWriterSpi spi, int deregisterJvmVersion, int priorityJvmVersion) static intstatic voidsetPackedBinaryData(byte[] binaryDataArray, WritableRaster raster, Rectangle rect) Sets the suppliedRaster's data from an array of packed binary data of the form returned bygetPackedBinaryData().static voidsetUnpackedBinaryData(byte[] bdata, WritableRaster raster, Rectangle rect) Copies data into the packed array of theRasterfrom an array of unpacked data of the form returned bygetUnpackedBinaryData().
-
Constructor Details
-
ImageUtil
public ImageUtil()
-
-
Method Details
-
createColorModel
Creates aColorModelthat may be used with the specifiedSampleModel. If a suitableColorModelcannot be found, this method returnsnull.Suitable
ColorModels are guaranteed to exist for all instances ofComponentSampleModel. For 1- and 3- bandedSampleModels, the returnedColorModelwill be opaque. For 2- and 4-bandedSampleModels, the output will use alpha transparency which is not premultiplied. 1- and 2-banded data will use a grayscaleColorSpace, and 3- and 4-banded data a sRGBColorSpace. Data with 5 or more bands will have aBogusColorSpace.An instance of
DirectColorModelwill be created for instances ofSinglePixelPackedSampleModelwith no more than 4 bands.An instance of
IndexColorModelwill be created for instances ofMultiPixelPackedSampleModel. The colormap will be a grayscale ramp with1 << numberOfBitsentries ranging from zero to at most 255.- Returns:
- An instance of
ColorModelthat is suitable for the suppliedSampleModel, ornull. - Throws:
IllegalArgumentException- IfsampleModelisnull.
-
getPackedBinaryData
For the case of binary data (isBinary()returnstrue), return the binary data as a packed byte array. The data will be packed as eight bits per byte with no bit offset, i.e., the first bit in each image line will be the left-most of the first byte of the line. The line stride in bytes will be(int)((getWidth()+7)/8). The length of the returned array will be the line stride multiplied bygetHeight()- Returns:
- the binary data as a packed array of bytes with zero offset
of
nullif the data are not binary. - Throws:
IllegalArgumentException- ifisBinary()returnsfalsewith theSampleModelof the suppliedRasteras argument.
-
getUnpackedBinaryData
Returns the binary data unpacked into an array of bytes. The line stride will be the width of theRaster.- Throws:
IllegalArgumentException- ifisBinary()returnsfalsewith theSampleModelof the suppliedRasteras argument.
-
setPackedBinaryData
public static void setPackedBinaryData(byte[] binaryDataArray, WritableRaster raster, Rectangle rect) Sets the suppliedRaster's data from an array of packed binary data of the form returned bygetPackedBinaryData().- Throws:
IllegalArgumentException- ifisBinary()returnsfalsewith theSampleModelof the suppliedRasteras argument.
-
setUnpackedBinaryData
Copies data into the packed array of theRasterfrom an array of unpacked data of the form returned bygetUnpackedBinaryData().If the data are binary, then the target bit will be set if and only if the corresponding byte is non-zero.
- Throws:
IllegalArgumentException- ifisBinary()returnsfalsewith theSampleModelof the suppliedRasteras argument.
-
isBinary
-
createColorModel
-
getElementSize
-
getTileSize
-
getBandSize
-
isGrayscaleMapping
Tests whether the color indices represent a gray-scale image with the indicated number of bits over the color component range [0,255]. The grayscale mapping may be inverted, i.e., 0 -> 255 and mapSize -> 0.- Parameters:
icm- The gray-to-color mapping.- Returns:
- Whether the
IndexColorModelmaps indexito((255*i)/icm.getMapSize()-1). - Throws:
IllegalArgumentException- ificmisnull.
-
isIndicesForGrayscale
public static boolean isIndicesForGrayscale(byte[] r, byte[] g, byte[] b) Tests whether the color indices represent a gray-scale image.- Parameters:
r- The red channel color indices.g- The green channel color indices.b- The blue channel color indices.- Returns:
- If all the indices have 256 entries, and are identical mappings,
return
true; otherwise, returnfalse.
-
convertObjectToString
Converts the provided object toString -
canEncodeImage
public static final void canEncodeImage(ImageWriter writer, ImageTypeSpecifier type) throws IIOException Checks that the providedImageWritercan encode the providedImageTypeSpecifieror not. If not, anIIOExceptionwill be thrown.- Parameters:
writer- The providedImageWriter.type- The image to be tested.- Throws:
IIOException- If the writer cannot encoded the provided image.
-
canEncodeImage
public static final void canEncodeImage(ImageWriter writer, ColorModel colorModel, SampleModel sampleModel) throws IIOException Checks that the providedImageWritercan encode the providedColorModelandSampleModel. If not, anIIOExceptionwill be thrown.- Parameters:
writer- The providedImageWriter.colorModel- The providedColorModel.sampleModel- The providedSampleModel.- Throws:
IIOException- If the writer cannot encoded the provided image.
-
imageIsContiguous
Returns whether the image has contiguous data across rows. -
getDestinationType
public static final ImageTypeSpecifier getDestinationType(ImageReadParam param, Iterator imageTypes) throws IIOException Gets the destination image type.- Throws:
IIOException
-
isNonStandardICCColorSpace
Returnstrueif the givenColorSpaceobject is an instance ofICC_ColorSpacebut is not one of the standardColorSpaces returned byColorSpace.getInstance().- Parameters:
cs- TheColorSpaceto test.
-
getJDKImageReaderWriterSPI
public static List getJDKImageReaderWriterSPI(ServiceRegistry registry, String formatName, boolean isReader) -
processOnRegistration
public static void processOnRegistration(ServiceRegistry registry, Class category, String formatName, ImageReaderWriterSpi spi, int deregisterJvmVersion, int priorityJvmVersion) -
readMultiByteInteger
- Throws:
IOException
-