Класс 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)
Возвращает спецификатор для формата индексированного цветного изображения, который будет упаковывать значения индекса заданной разрядности в элементы массива указанного типа данных.
- Parameters:
-
redLUT- массивbyteсодержащий значения красного цвета для каждого индекса. -
greenLUT- массивbyteсодержащий значения зеленого цвета для каждого индекса. -
blueLUT- массивbyteсодержащий значения синего цвета для каждого индекса. -
alphaLUT- массивbyteсодержащий значения альфа-канала для каждого индекса, илиnullдля создания полностью непрозрачной таблицы. -
bits- количество бит в каждом индексе. -
dataType- желаемый тип выходных данных, как одна из перечислений из классаDataBuffer. - Returns:
- объект
ImageTypeSpecifierс желаемыми характеристиками. - Throws:
-
IllegalArgumentException- еслиredLUTимеет значениеnull. -
IllegalArgumentException- еслиgreenLUTимеет значениеnull. -
IllegalArgumentException- еслиblueLUTимеет значениеnull. -
IllegalArgumentException- еслиbitsне равно 1, 2, 4, 8 или 16. -
IllegalArgumentException- если параметры таблицы, не являющиеся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).- Parameters:
-
bufferedImageType- целое число, представляющее один из стандартных типовBufferedImage. - Returns:
- объект
ImageTypeSpecifierс нужными характеристиками. - Throws:
-
IllegalArgumentException- еслиbufferedImageTypeне является одним из стандартных типов или равноTYPE_CUSTOM. - See Also:
createFromRenderedImage
public static ImageTypeSpecifier createFromRenderedImage(RenderedImage image)
Возвращает объект
ImageTypeSpecifier, кодирующий макет RenderedImage (который может быть BufferedImage).- Parameters:
-
image- объектRenderedImage. - Returns:
- объект
ImageTypeSpecifierс нужными характеристиками. - Throws:
-
IllegalArgumentException- еслиimageимеет значениеnull.
getBufferedImageType
public int getBufferedImageType()
Возвращает целое число, содержащее одно из перечисленных значений констант, описывающих форматы изображений из
BufferedImage.- Returns:
- целое число, представляющее тип
BufferedImage. - See Also:
getNumComponents
public int getNumComponents()
Возвращает количество цветовых компонентов, указанных в этом объекте. Это то же значение, что и возвращается
ColorModel.getNumComponents.
- Returns:
- количество компонентов в изображении.
getNumBands
public int getNumBands()
Возвращает количество полос, указанных в этом объекте. Это то же значение, что и возвращается
SampleModel.getNumBands.
- Returns:
- количество полос в изображении.
getBitsPerBand
public int getBitsPerBand(int band)
Возвращает количество бит, используемых для представления образцов заданной полосы.
- Parameters:
-
band- индекс полосы, подлежащей запросу, как целое число. - Returns:
- целое число, обозначающее количество бит.
- Throws:
-
IllegalArgumentException- еслиbandотрицательно или больше максимального индекса полосы.
getSampleModel
public SampleModel getSampleModel()
Возвращает
SampleModel, основанный на настройках, заключённых в этом объекте. Ширина и высота SampleModel будут установлены в произвольные значения.- Returns:
- объект
SampleModelс произвольными размерами.
getSampleModel
public SampleModel getSampleModel(int width, int height)
Возвращает
SampleModel, основанный на настройках, заключённых в этом объекте. Ширина и высота SampleModel будут установлены в указанные значения.- Parameters:
-
width- желаемая ширина возвращаемогоSampleModel. -
height- желаемая высота возвращаемогоSampleModel. - Returns:
- объект
SampleModelс заданными размерами. - Throws:
-
IllegalArgumentException- еслиwidthилиheightотрицательны или равны нулю. -
IllegalArgumentException- если произведениеwidthиheightбольше, чемInteger.MAX_VALUE
getColorModel
public ColorModel getColorModel()
Возвращает
ColorModel указанный в этом объекте.- Returns:
- объект
ColorModel.
createBufferedImage
public BufferedImage createBufferedImage(int width, int height)
Создаёт объект
BufferedImage с заданной шириной и высотой в соответствии со спецификацией, заключённой в этом объекте.- Parameters:
-
width- желаемая ширина возвращаемогоBufferedImage. -
height- желаемая высота возвращаемогоBufferedImage. - Returns:
- новый объект
BufferedImage - Throws:
-
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 - Parameters:
-
o- объектObjectдля сравнения на равенство. - Returns:
-
trueесли данный объект является эквивалентным объектомImageTypeSpecifier. - See Also:
hashCode
public int hashCode()
Возвращает код хэша для этого ImageTypeSpecifier.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- код хэша для этого ImageTypeSpecifier
- См. также:
© 1993, 2023, 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/21/docs/api/java.desktop/javax/imageio/ImageTypeSpecifier.html