Класс ImageTypeSpecifier
java.lang.Object
javax.imageio.ImageTypeSpecifier
public class ImageTypeSpecifier extends Object
Класс, позволяющий удобно задавать формат изображения (в частности, его
SampleModel и ColorModel).Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected ColorModel |
colorModel |
ColorModel, используемый в качестве прототипа. |
protected SampleModel |
sampleModel |
SampleModel, используемый в качестве прототипа. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ImageTypeSpecifier |
Создаёт ImageTypeSpecifier напрямую из ColorModel и SampleModel. |
ImageTypeSpecifier |
Создаёт ImageTypeSpecifier из RenderedImage. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static ImageTypeSpecifier |
createBanded |
Возвращает спецификатор формата изображений с полосами, использующий ComponentColorModel и BandedSampleModel для хранения каждого канала в отдельном массиве. |
BufferedImage |
createBufferedImage |
Создаёт BufferedImage с заданной шириной и высотой в соответствии со спецификацией, представленной в этом объекте. |
static ImageTypeSpecifier |
createFromBufferedImageType |
Возвращает ImageTypeSpecifier, кодирующий один из стандартных типов BufferedImage (кроме TYPE_CUSTOM). |
static ImageTypeSpecifier |
createFromRenderedImage |
Возвращает ImageTypeSpecifier, кодирующий расположение RenderedImage (который может быть BufferedImage). |
static ImageTypeSpecifier |
createGrayscale |
Возвращает спецификатор для формата черно-белого изображения, который будет упаковывать пиксели заданной разрядности в элементы массива указанного типа данных. |
static ImageTypeSpecifier |
createGrayscale |
Возвращает спецификатор для формата черно-белого изображения с альфа-каналом, который будет упаковывать пиксели заданной разрядности в элементы массива указанного типа данных. |
static ImageTypeSpecifier |
createIndexed |
Возвращает спецификатор для формата изображения с индексированными цветами, который будет упаковывать значения индексов заданной разрядности в элементы массива указанного типа данных. |
static ImageTypeSpecifier |
createInterleaved |
Возвращает спецификатор для интерлированного формата изображения, который будет использовать ComponentColorModel и PixelInterleavedSampleModel для хранения каждого компонента пикселя в отдельном байте, коротком или целом числе. |
static ImageTypeSpecifier |
createPacked |
Возвращает спецификатор для упакованного формата изображения, который будет использовать DirectColorModel и упакованное SampleModel для хранения каждого пикселя, упакованного в один байт, короткое или целое число. |
boolean |
equals |
Возвращает true, если заданный Object является ImageTypeSpecifier и имеет SampleModel и ColorModel, равные значениям этого объекта. |
int |
getBitsPerBand |
Возвращает количество бит, используемых для представления выборок заданной полосы. |
int |
getBufferedImageType() |
Возвращает целое число, содержащее одно из перечисленных значений констант, описывающих форматы изображений из BufferedImage. |
ColorModel |
getColorModel() |
Возвращает ColorModel, заданный этим объектом. |
int |
getNumBands() |
Возвращает количество полос, заданных этим объектом. |
int |
getNumComponents() |
Возвращает количество цветовых компонентов, заданных этим объектом. |
SampleModel |
getSampleModel() |
Возвращает SampleModel, основанный на настройках, содержащихся в этом объекте. |
SampleModel |
getSampleModel |
Возвращает SampleModel, основанный на настройках, содержащихся в этом объекте. |
int |
hashCode() |
Возвращает хэш-код для этого ImageTypeSpecifier. |
Подробное описание полей
colorModel
protected ColorModel colorModel
Используемый в качестве прототипа
ColorModel. sampleModel
protected SampleModel sampleModel
Прототип
SampleModel. Подробное описание конструкторов
ImageTypeSpecifier
public ImageTypeSpecifier(ColorModel colorModel, SampleModel sampleModel)
Создаёт
ImageTypeSpecifier напрямую из ColorModel и SampleModel. Ответственность за предоставление совместимых параметров лежит на вызывающей стороне.- Параметры:
-
colorModel-ColorModel. -
sampleModel-SampleModel. - Исключения:
-
IllegalArgumentException- если любой из параметровnull. -
IllegalArgumentException- еслиsampleModelнесовместим сcolorModel.
ImageTypeSpecifier
public ImageTypeSpecifier(RenderedImage image)
Создаёт
ImageTypeSpecifier из RenderedImage. Если используется BufferedImage, для получения более точного результата следует использовать один из методов-фабрик createFromRenderedImage или createFromBufferedImageType. - Параметры:
-
image-RenderedImage. - Исключения:
-
IllegalArgumentException- если аргументnull.
Подробное описание методов
createPacked
public static ImageTypeSpecifier createPacked(ColorSpace colorSpace, int redMask, int greenMask, int blueMask, int alphaMask, int transferType, boolean isAlphaPremultiplied)
Возвращает спецификатор для упакованного формата изображения, который будет использовать
DirectColorModel и упакованный SampleModel для хранения каждого пикселя, упакованного в один байт, короткое целое или целое число.- Параметры:
-
colorSpace- требуемыйColorSpace. -
redMask- непрерывна маска, указывающая положение красного канала. -
greenMask- непрерывна маска, указывающая положение зелёного канала. -
blueMask- непрерывна маска, указывающая положение синего канала. -
alphaMask- непрерывна маска, указывающая положение альфа-канала. -
transferType- требуемыйSampleModelтип преобразования. -
isAlphaPremultiplied-trueесли цветовые каналы будут предварительно умножены на альфа-канал. - Возвращает:
ImageTypeSpecifierс желаемыми характеристиками.- Исключения:
-
IllegalArgumentException- еслиcolorSpacenull. -
IllegalArgumentException- еслиcolorSpaceне является типаTYPE_RGB. -
IllegalArgumentException- если ни одна маска не имеет по крайней мере 1 бита установленным. -
IllegalArgumentException- еслиtransferTypeне является одним из значенийDataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT, илиDataBuffer.TYPE_INT.
createInterleaved
public static ImageTypeSpecifier createInterleaved(ColorSpace colorSpace, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
Возвращает спецификатор для интерлированного формата изображения, который будет использовать
ComponentColorModel и PixelInterleavedSampleModel для хранения каждого компонента пикселя в отдельном байте, коротком целом или целом числе.- Параметры:
-
colorSpace- требуемыйColorSpace. -
bandOffsets- массивints, указывающих смещения для каждого канала. -
dataType- требуемый тип данных, как одно из перечислений из классаDataBuffer. -
hasAlpha-trueесли желателен альфа-канал. -
isAlphaPremultiplied-trueесли цветовые каналы будут предварительно умножены на альфа-канал. - Возвращает:
ImageTypeSpecifierс желаемыми характеристиками.- Исключения:
-
IllegalArgumentException- еслиcolorSpacenull. -
IllegalArgumentException- еслиbandOffsetsnull. -
IllegalArgumentException- еслиdataTypeне является одним из допустимыхDataBuffer.TYPE_*констант. -
IllegalArgumentException- еслиbandOffsets.lengthне равно количеству компонентов цветового пространства, плюс 1, еслиhasAlphatrue.
createBanded
public static ImageTypeSpecifier createBanded(ColorSpace colorSpace, int[] bankIndices, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
Возвращает спецификатор для формата изображения в виде полос, который будет использовать
ComponentColorModel и BandedSampleModel для хранения каждого канала в отдельном массиве.- Параметры:
-
colorSpace- требуемыйColorSpace. -
bankIndices- массивints, указывающих банк, в котором будет храниться каждый канал. -
bandOffsets- массивints, указывающих начальное смещение каждого канала в его банке. -
dataType- требуемый тип данных, как одно из перечислений из классаDataBuffer. -
hasAlpha-trueесли желателен альфа-канал. -
isAlphaPremultiplied-trueесли цветовые каналы будут предварительно умножены на альфа-канал. - Возвращает:
ImageTypeSpecifierс желаемыми характеристиками.- Исключения:
-
IllegalArgumentException- еслиcolorSpacenull. -
IllegalArgumentException- еслиbankIndicesnull. -
IllegalArgumentException- еслиbandOffsetsnull. -
IllegalArgumentException- если длиныbankIndicesиbandOffsetsотличаются. -
IllegalArgumentException- еслиbandOffsets.lengthне равно количеству компонентов цветового пространства, плюс 1, еслиhasAlphatrue. -
IllegalArgumentException- еслиdataTypeне является одной из допустимыхDataBuffer.TYPE_*констант.
createGrayscale
public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned)
Возвращает спецификатор для формата изображения в оттенках серого, который будет упаковывать пиксели заданной разрядности в элементы массива заданного типа данных.
- Параметры:
-
bits- количество бит на значение серого (1, 2, 4, 8 или 16). -
dataType- требуемый тип данных, как одно из перечислений из классаDataBuffer. -
isSigned-trueесли необходимо представлять отрицательные значения. - Возвращает:
ImageTypeSpecifierс желаемыми характеристиками.- Исключения:
-
IllegalArgumentException- еслиbitsне является одним из 1, 2, 4, 8 или 16. -
IllegalArgumentException- еслиdataTypeне является одним изDataBuffer.TYPE_BYTE,DataBuffer.TYPE_SHORT, илиDataBuffer.TYPE_USHORT. -
IllegalArgumentException- еслиbitsбольше размера в битах заданногоdataType.
createGrayscale
public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned, boolean isAlphaPremultiplied)
Возвращает спецификатор для формата изображения в оттенках серого с альфа-каналом, который будет упаковывать пиксели заданной разрядности в элементы массива заданного типа данных.
- Параметры:
-
bits- количество бит на значение серого (1, 2, 4, 8 или 16). -
dataType- требуемый тип данных, как одно из перечислений из классаDataBuffer. -
isSigned-trueесли необходимо представлять отрицательные значения. -
isAlphaPremultiplied-trueесли канал яркости будет предварительно умножен на альфа-канал. - Возвращает:
ImageTypeSpecifierс желаемыми характеристиками.- Исключения:
-
IllegalArgumentException- еслиbitsне является одним из 1, 2, 4, 8 или 16. -
IllegalArgumentException- еслиdataTypeне является одним изDataBuffer.TYPE_BYTE,DataBuffer.TYPE_SHORT, илиDataBuffer.TYPE_USHORT. -
IllegalArgumentException- еслиbitsбольше размера в битах заданногоdataType.
createIndexed
public static ImageTypeSpecifier createIndexed(byte[] redLUT, byte[] greenLUT, byte[] blueLUT, byte[] alphaLUT, int bits, int dataType)
Возвращает спецификатор для формата индексированного цветного изображения, который будет упаковывать значения индексов заданной глубины в элементы массива указанного типа данных.
- Параметры:
-
redLUT- массивbyteсодержащих значения красного цвета для каждого индекса. -
greenLUT- массивbyteсодержащих значения зеленого цвета для каждого индекса. -
blueLUT- массивbyteсодержащих значения синего цвета для каждого индекса. -
alphaLUT- массивbyteсодержащих значения альфа-канала для каждого индекса, илиnullдля создания полностью непрозрачного LUT. -
bits- количество битов в каждом индексе. -
dataType- желаемый тип вывода, как один из перечислений из классаDataBuffer. - Возвращает:
- объект
ImageTypeSpecifierс желаемыми характеристиками. - Исключение:
-
IllegalArgumentException- еслиredLUTравноnull. -
IllegalArgumentException- еслиgreenLUTравноnull. -
IllegalArgumentException- еслиblueLUTравноnull. -
IllegalArgumentException- еслиbitsне равно 1, 2, 4, 8 или 16. -
IllegalArgumentException- если параметры LUT, не являющиесяnull, не имеют длины ровно1 << bits. -
IllegalArgumentException- еслиdataTypeне равно одному изDataBuffer.TYPE_BYTE,DataBuffer.TYPE_SHORT,DataBuffer.TYPE_USHORT, илиDataBuffer.TYPE_INT. -
IllegalArgumentException- еслиbitsбольше, чем размер в битах заданногоdataType.
createFromBufferedImageType
public static ImageTypeSpecifier createFromBufferedImageType(int bufferedImageType)
Возвращает объект
ImageTypeSpecifier, который кодирует один из стандартных типов BufferedImage (кроме TYPE_CUSTOM).- Параметры:
-
bufferedImageType- целое число, представляющее один из стандартных типовBufferedImage. - Возвращает:
- объект
ImageTypeSpecifierс желаемыми характеристиками. - Исключение:
-
IllegalArgumentException- еслиbufferedImageTypeне является одним из стандартных типов или равноTYPE_CUSTOM. - См. также:
-
BufferedImageBufferedImage.TYPE_INT_RGBBufferedImage.TYPE_INT_ARGBBufferedImage.TYPE_INT_ARGB_PREBufferedImage.TYPE_INT_BGRBufferedImage.TYPE_3BYTE_BGRBufferedImage.TYPE_4BYTE_ABGRBufferedImage.TYPE_4BYTE_ABGR_PREBufferedImage.TYPE_USHORT_565_RGBBufferedImage.TYPE_USHORT_555_RGBBufferedImage.TYPE_BYTE_GRAYBufferedImage.TYPE_USHORT_GRAYBufferedImage.TYPE_BYTE_BINARYBufferedImage.TYPE_BYTE_INDEXED
createFromRenderedImage
public static ImageTypeSpecifier createFromRenderedImage(RenderedImage image)
Возвращает объект
ImageTypeSpecifier, который кодирует макет RenderedImage (который может быть BufferedImage).- Параметры:
-
image- объектRenderedImage. - Возвращает:
- объект
ImageTypeSpecifierс желаемыми характеристиками. - Исключение:
-
IllegalArgumentException- еслиimageравноnull.
getBufferedImageType
public int getBufferedImageType()
Возвращает целое число, содержащее одно из перечисленных значений, описывающих форматы изображений из
BufferedImage.- Возвращает:
- целое число, представляющее тип
BufferedImage. - См. также:
-
BufferedImageBufferedImage.TYPE_CUSTOMBufferedImage.TYPE_INT_RGBBufferedImage.TYPE_INT_ARGBBufferedImage.TYPE_INT_ARGB_PREBufferedImage.TYPE_INT_BGRBufferedImage.TYPE_3BYTE_BGRBufferedImage.TYPE_4BYTE_ABGRBufferedImage.TYPE_4BYTE_ABGR_PREBufferedImage.TYPE_USHORT_565_RGBBufferedImage.TYPE_USHORT_555_RGBBufferedImage.TYPE_BYTE_GRAYBufferedImage.TYPE_USHORT_GRAYBufferedImage.TYPE_BYTE_BINARYBufferedImage.TYPE_BYTE_INDEXED
getNumComponents
public int getNumComponents()
Возвращает количество цветовых компонентов, указанных в этом объекте. Это то же значение, что и возвращается
ColorModel.getNumComponents
- Возвращает:
- количество компонентов в изображении.
getNumBands
public int getNumBands()
Возвращает количество полос, указанных в этом объекте. Это то же значение, что и возвращается
SampleModel.getNumBands
- Возвращает:
- количество полос в изображении.
getBitsPerBand
public int getBitsPerBand(int band)
Возвращает количество битов, используемых для представления выборок заданной полосы.
- Параметры:
-
band- индекс полосы, которая должна быть запрошена, как целое число. - Возвращает:
- целое число, указывающее количество битов.
- Исключение:
-
IllegalArgumentException- еслиbandотрицательно или больше индекса самой большой полосы.
getSampleModel
public SampleModel getSampleModel()
Возвращает
SampleModel на основе настроек, инкапсулированных в этом объекте. Ширина и высота SampleModel будут установлены в произвольные значения.- Возвращает:
- объект
SampleModelс произвольными размерами.
getSampleModel
public SampleModel getSampleModel(int width, int height)
Возвращает
SampleModel на основе настроек, инкапсулированных в этом объекте. Ширина и высота SampleModel будут установлены в указанные значения.- Параметры:
-
width- желаемая ширина возвращаемогоSampleModel. -
height- желаемая высота возвращаемогоSampleModel. - Возвращает:
- объект
SampleModelс заданными размерами. - Исключение:
-
IllegalArgumentException- еслиwidthилиheightотрицательны или равны нулю. -
IllegalArgumentException- если произведениеwidthиheightбольше, чемInteger.MAX_VALUE
getColorModel
public ColorModel getColorModel()
Возвращает
ColorModel, указанный этим объектом.- Возвращает:
- объект
ColorModel.
createBufferedImage
public BufferedImage createBufferedImage(int width, int height)
Создает объект
BufferedImage с заданной шириной и высотой в соответствии со спецификацией, представленной в этом объекте.- Параметры:
-
width- желаемая ширина возвращаемогоBufferedImage. -
height- желаемая высота возвращаемогоBufferedImage. - Возвращает:
- новый объект
BufferedImage - Исключение:
-
IllegalArgumentException- еслиwidthилиheightотрицательны или равны нулю. -
IllegalArgumentException- если произведениеwidthиheightбольше, чемInteger.MAX_VALUE, или если количество элементов массива, необходимых для хранения изображения, больше, чемInteger.MAX_VALUE.
equals
public boolean equals(Object o)
Возвращает
true если заданный объект Object является объектом ImageTypeSpecifier и имеет SampleModel и ColorModel, равные соответствующим значениям этого объекта.- Overrides:
-
equalsв классеObject - Параметры:
-
o- объектObjectдля сравнения на равенство. - Возвращает:
-
trueесли заданный объект является эквивалентным объектомImageTypeSpecifier. - См. также:
hashCode
public int hashCode()
Возвращает код хэша для этого ImageTypeSpecifier.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- код хэша для этого ImageTypeSpecifier
- См. также:
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/imageio/ImageTypeSpecifier.html