public class ImageUtil extends Object
Constructor and Description |
---|
ImageUtil() |
Modifier and Type | Method and Description |
---|---|
static void |
canEncodeImage(ImageWriter writer,
ColorModel colorModel,
SampleModel sampleModel)
Checks that the provided
ImageWriter can encode
the provided ColorModel and SampleModel . |
static void |
canEncodeImage(ImageWriter writer,
ImageTypeSpecifier type)
Checks that the provided
ImageWriter can encode
the provided ImageTypeSpecifier or not. |
static String |
convertObjectToString(Object obj)
Converts the provided object to
String |
static ColorModel |
createColorModel(ColorSpace colorSpace,
SampleModel sampleModel) |
static ColorModel |
createColorModel(SampleModel sampleModel)
Creates a
ColorModel that may be used with the
specified SampleModel . |
static long |
getBandSize(SampleModel sm) |
static ImageTypeSpecifier |
getDestinationType(ImageReadParam param,
Iterator imageTypes)
Gets the destination image type.
|
static int |
getElementSize(SampleModel sm) |
static List |
getJDKImageReaderWriterSPI(ServiceRegistry registry,
String formatName,
boolean isReader) |
static byte[] |
getPackedBinaryData(Raster raster,
Rectangle rect)
For the case of binary data (
isBinary() returns
true ), return the binary data as a packed byte array. |
static long |
getTileSize(SampleModel sm) |
static byte[] |
getUnpackedBinaryData(Raster raster,
Rectangle rect)
Returns the binary data unpacked into an array of bytes.
|
static boolean |
imageIsContiguous(RenderedImage image)
Returns whether the image has contiguous data across rows.
|
static boolean |
isBinary(SampleModel sm) |
static boolean |
isGrayscaleMapping(IndexColorModel icm)
Tests whether the color indices represent a gray-scale image with
the indicated number of bits over the color component range [0,255].
|
static boolean |
isIndicesForGrayscale(byte[] r,
byte[] g,
byte[] b)
Tests whether the color indices represent a gray-scale image.
|
static boolean |
isNonStandardICCColorSpace(ColorSpace cs)
Returns
true if the given ColorSpace object
is an instance of ICC_ColorSpace but is not one of the
standard ColorSpace s returned by
ColorSpace.getInstance() . |
static void |
processOnRegistration(ServiceRegistry registry,
Class category,
String formatName,
ImageReaderWriterSpi spi,
int deregisterJvmVersion,
int priorityJvmVersion) |
static int |
readMultiByteInteger(ImageInputStream iis) |
static void |
setPackedBinaryData(byte[] binaryDataArray,
WritableRaster raster,
Rectangle rect)
Sets the supplied
Raster 's data from an array
of packed binary data of the form returned by
getPackedBinaryData() . |
static void |
setUnpackedBinaryData(byte[] bdata,
WritableRaster raster,
Rectangle rect)
Copies data into the packed array of the
Raster
from an array of unpacked data of the form returned by
getUnpackedBinaryData() . |
public static final ColorModel createColorModel(SampleModel sampleModel)
ColorModel
that may be used with the
specified SampleModel
. If a suitable
ColorModel
cannot be found, this method returns
null
.
Suitable ColorModel
s are guaranteed to exist
for all instances of ComponentSampleModel
.
For 1- and 3- banded SampleModel
s, the returned
ColorModel
will be opaque. For 2- and 4-banded
SampleModel
s, the output will use alpha transparency
which is not premultiplied. 1- and 2-banded data will use a
grayscale ColorSpace
, and 3- and 4-banded data a sRGB
ColorSpace
. Data with 5 or more bands will have a
BogusColorSpace
.
An instance of DirectColorModel
will be created for
instances of SinglePixelPackedSampleModel
with no more
than 4 bands.
An instance of IndexColorModel
will be created for
instances of MultiPixelPackedSampleModel
. The colormap
will be a grayscale ramp with 1 << numberOfBits
entries ranging from zero to at most 255.
ColorModel
that is suitable for
the supplied SampleModel
, or null
.IllegalArgumentException
- If sampleModel
is
null
.public static byte[] getPackedBinaryData(Raster raster, Rectangle rect)
isBinary()
returns
true
), 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 by getHeight()
null
if the data are not binary.IllegalArgumentException
- if isBinary()
returns
false
with the SampleModel
of the
supplied Raster
as argument.public static byte[] getUnpackedBinaryData(Raster raster, Rectangle rect)
Raster
.IllegalArgumentException
- if isBinary()
returns
false
with the SampleModel
of the
supplied Raster
as argument.public static void setPackedBinaryData(byte[] binaryDataArray, WritableRaster raster, Rectangle rect)
Raster
's data from an array
of packed binary data of the form returned by
getPackedBinaryData()
.IllegalArgumentException
- if isBinary()
returns
false
with the SampleModel
of the
supplied Raster
as argument.public static void setUnpackedBinaryData(byte[] bdata, WritableRaster raster, Rectangle rect)
Raster
from an array of unpacked data of the form returned by
getUnpackedBinaryData()
.
If the data are binary, then the target bit will be set if and only if the corresponding byte is non-zero.
IllegalArgumentException
- if isBinary()
returns
false
with the SampleModel
of the
supplied Raster
as argument.public static boolean isBinary(SampleModel sm)
public static ColorModel createColorModel(ColorSpace colorSpace, SampleModel sampleModel)
public static int getElementSize(SampleModel sm)
public static long getTileSize(SampleModel sm)
public static long getBandSize(SampleModel sm)
public static boolean isGrayscaleMapping(IndexColorModel icm)
icm
- The gray-to-color mapping.IndexColorModel
maps index
i
to ((255*i)/icm.getMapSize()-1)
.IllegalArgumentException
- if icm
is
null
.public static boolean isIndicesForGrayscale(byte[] r, byte[] g, byte[] b)
r
- The red channel color indices.g
- The green channel color indices.b
- The blue channel color indices.true
; otherwise, return false
.public static String convertObjectToString(Object obj)
String
public static final void canEncodeImage(ImageWriter writer, ImageTypeSpecifier type) throws IIOException
ImageWriter
can encode
the provided ImageTypeSpecifier
or not. If not, an
IIOException
will be thrown.writer
- The provided ImageWriter
.type
- The image to be tested.IIOException
- If the writer cannot encoded the provided image.public static final void canEncodeImage(ImageWriter writer, ColorModel colorModel, SampleModel sampleModel) throws IIOException
ImageWriter
can encode
the provided ColorModel
and SampleModel
.
If not, an IIOException
will be thrown.writer
- The provided ImageWriter
.colorModel
- The provided ColorModel
.sampleModel
- The provided SampleModel
.IIOException
- If the writer cannot encoded the provided image.public static final boolean imageIsContiguous(RenderedImage image)
public static final ImageTypeSpecifier getDestinationType(ImageReadParam param, Iterator imageTypes) throws IIOException
IIOException
public static boolean isNonStandardICCColorSpace(ColorSpace cs)
true
if the given ColorSpace
object
is an instance of ICC_ColorSpace
but is not one of the
standard ColorSpace
s returned by
ColorSpace.getInstance()
.cs
- The ColorSpace
to test.public static List getJDKImageReaderWriterSPI(ServiceRegistry registry, String formatName, boolean isReader)
public static void processOnRegistration(ServiceRegistry registry, Class category, String formatName, ImageReaderWriterSpi spi, int deregisterJvmVersion, int priorityJvmVersion)
public static int readMultiByteInteger(ImageInputStream iis) throws IOException
IOException
Copyright © 2015–2022 SCIFIO. All rights reserved.