Класс 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
Используемая в качестве прототипа цветовая модель.
sampleModel
protected SampleModel sampleModel
Образец, используемый в качестве прототипа.
Подробное описание конструкторов
ImageTypeSpecifier
public ImageTypeSpecifier(ColorModel colorModel, SampleModel sampleModel)
Создаёт
ImageTypeSpecifier напрямую из цветовой модели и образца. Ответственность за совместимость параметров лежит на вызывающей стороне.- Параметры:
-
colorModel- цветовая модель. -
sampleModel- образец. - Исключения:
-
IllegalArgumentException- если какой-либо параметр имеет некорректное значение. -
IllegalArgumentException- если цветовая модель несовместима с образцом.
ImageTypeSpecifier
public ImageTypeSpecifier(RenderedImage image)
Создаёт
ImageTypeSpecifier из отрисованного изображения. Если используется фабрика, следует использовать один из фабричных методов createFromRenderedImage или createFromBufferedImageType для получения более точного результата.- Параметры:
-
image- отрисованное изображение. - Исключения:
-
IllegalArgumentException- если переданный аргумент имеет некорректное значение.
Подробное описание методов
createPacked
public static ImageTypeSpecifier createPacked(ColorSpace colorSpace, int redMask, int greenMask, int blueMask, int alphaMask, int transferType, boolean isAlphaPremultiplied)
Возвращает спецификатор для упакованного формата изображения, который будет использовать цветовую модель и упакованный образец для хранения каждого пикселя, упакованного в один байт, короткое целое число или целое число.
- Параметры:
-
colorSpace- требуемая цветовая модель. -
redMask- непрерывное маску, указывающая положение красного канала. -
greenMask- непрерывное маску, указывающая положение зеленого канала. -
blueMask- непрерывное маску, указывающая положение синего канала. -
alphaMask- непрерывное маску, указывающая положение альфа-канала. -
transferType- желаемый тип преобразования. -
isAlphaPremultiplied- true, если цветовые каналы будут предварительно умножены на альфа-канал. - Возвращает:
- спецификатор с требуемыми характеристиками.
- Исключения:
-
IllegalArgumentException- если цветовая модель имеет некорректное значение. -
IllegalArgumentException- если тип преобразования не соответствует ожидаемому. -
IllegalArgumentException- если ни одна из масок не имеет хотя бы одного установленного бита. -
IllegalArgumentException- если тип преобразования не является одним из допустимых значений.
createInterleaved
public static ImageTypeSpecifier createInterleaved(ColorSpace colorSpace, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
Возвращает спецификатор для интерливированного формата изображения, который будет использовать цветовую модель и тип данных для хранения каждого компонента пикселя в отдельном байте, коротком целом числе или целом числе.
- Параметры:
-
colorSpace- требуемая цветовая модель. -
bandOffsets- массив смещений для каждого канала. -
dataType- требуемый тип данных. -
hasAlpha- true, если нужен альфа-канал. -
isAlphaPremultiplied- true, если цветовые каналы будут предварительно умножены на альфа-канал. - Возвращает:
- спецификатор с требуемыми характеристиками.
- Исключения:
-
IllegalArgumentException- если цветовая модель имеет некорректное значение. -
IllegalArgumentException- если массив смещений имеет некорректное значение. -
IllegalArgumentException- если тип данных не соответствует ожидаемому. -
IllegalArgumentException- если длина массива смещений не соответствует количеству компонент цветовой модели.
createBanded
public static ImageTypeSpecifier createBanded(ColorSpace colorSpace, int[] bankIndices, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
Возвращает спецификатор для формата изображения полосами, который будет использовать цветовую модель и типы данных для хранения каждого канала в отдельном массиве.
- Параметры:
-
colorSpace- требуемая цветовая модель. -
bankIndices- массив банков данных для каждого канала. -
bandOffsets- массив смещений для каждого канала. -
dataType- желаемый тип данных. -
hasAlpha- true, если нужен альфа-канал. -
isAlphaPremultiplied- true, если цветовые каналы будут предварительно умножены на альфа-канал. - Возвращает:
- спецификатор с требуемыми характеристиками.
- Исключения:
-
IllegalArgumentException- если цветовая модель имеет некорректное значение. -
IllegalArgumentException- если массив банков данных имеет некорректное значение. -
IllegalArgumentException- если массив смещений имеет некорректное значение. -
IllegalArgumentException- если длины массивов смещений и банков данных не совпадают. -
IllegalArgumentException- если длина массива смещений не соответствует количеству компонент цветовой модели. -
IllegalArgumentException- если тип данных не соответствует ожидаемому.
createGrayscale
public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned)
Возвращает спецификатор для серого формата изображения, который упаковывает пиксели заданной разрядности в элементы массива указанного типа.
- Параметры:
-
bits- количество бит на значение серого (1, 2, 4, 8 или 16). -
dataType- желаемый тип данных. -
isSigned- true, если должны быть представлены отрицательные значения. - Возвращает:
- спецификатор с требуемыми характеристиками.
- Исключения:
-
IllegalArgumentException- если количество бит на значение серого не соответствует ожидаемому. -
IllegalArgumentException- если тип данных не соответствует ожидаемому. -
IllegalArgumentException- если количество бит больше, чем размер данных.
createGrayscale
public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned, boolean isAlphaPremultiplied)
Возвращает спецификатор для серого формата изображения с альфа-каналом, который упаковывает пиксели заданной разрядности в элементы массива указанного типа.
- Параметры:
-
bits- количество бит на значение серого (1, 2, 4, 8 или 16). -
dataType- желаемый тип данных. -
isSigned- true, если должны быть представлены отрицательные значения. -
isAlphaPremultiplied- true, если luminance канал будет предварительно умножен на альфа-канал. - Возвращает:
- спецификатор с требуемыми характеристиками.
- Исключения:
-
IllegalArgumentException- если количество бит на значение серого не соответствует ожидаемому. -
IllegalArgumentException- если тип данных не соответствует ожидаемому. -
IllegalArgumentException- если количество бит больше, чем размер данных.
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для создания полностью непрозрачной таблицы соответствия. -
bits- количество битов в каждом индексе. -
dataType- желаемый тип выходных данных, как один из перечислений из классаDataBuffer. - Возвращает:
- объект
ImageTypeSpecifierс нужными характеристиками. - Выбрасывает:
-
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).- Параметры:
-
bufferedImageType- целое число, представляющее один из стандартных типовBufferedImage. - Возвращает:
- объект
ImageTypeSpecifierс нужными характеристиками. - Выбрасывает:
-
IllegalArgumentException- еслиbufferedImageTypeне является одним из стандартных типов или равенTYPE_CUSTOM. - См. также:
createFromRenderedImage
public static ImageTypeSpecifier createFromRenderedImage(RenderedImage image)
Возвращает объект
ImageTypeSpecifier, который кодирует макет RenderedImage (который может быть BufferedImage).- Параметры:
-
image- объектRenderedImage. - Возвращает:
- объект
ImageTypeSpecifierс нужными характеристиками. - Выбрасывает:
-
IllegalArgumentException- еслиimageравенnull.
getBufferedImageType
public int getBufferedImageType()
Возвращает целое число, содержащее одно из значений перечисления, описывающих форматы изображений из класса
BufferedImage.- Возвращает:
- целое число, представляющее тип
BufferedImage. - См. также:
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, равные соответствующим значениям этого объекта.hashCode
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/imageio/ImageTypeSpecifier.html