Класс ImageTypeSpecifier
- java.lang.Object
-
- javax.imageio.ImageTypeSpecifier
public class ImageTypeSpecifier extends Object
Класс, позволяющий удобно задавать формат изображения (в частности, его SampleModel и ColorModel).
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected ColorModel |
colorModel
|
protected SampleModel |
sampleModel
|
Конструкторы
| Конструктор и описание |
|---|
ImageTypeSpecifier(ColorModel colorModel,
SampleModel sampleModel) Конструирует |
ImageTypeSpecifier(RenderedImage image) Конструирует |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static ImageTypeSpecifier |
createBanded(ColorSpace colorSpace,
int[] bankIndices,
int[] bandOffsets,
int dataType,
boolean hasAlpha,
boolean isAlphaPremultiplied) Возвращает спецификатор для формата изображений с полосами, который будет использовать |
BufferedImage |
createBufferedImage(int width,
int height) Создаёт |
static ImageTypeSpecifier |
createFromBufferedImageType(int bufferedImageType) Возвращает |
static ImageTypeSpecifier |
createFromRenderedImage(RenderedImage image) Возвращает |
static ImageTypeSpecifier |
createGrayscale(int bits,
int dataType,
boolean isSigned) Возвращает спецификатор для формата изображения в оттенках серого, который упакует пиксели заданной разрядности в элементы массива заданного типа данных. |
static ImageTypeSpecifier |
createGrayscale(int bits,
int dataType,
boolean isSigned,
boolean isAlphaPremultiplied) Возвращает спецификатор для формата изображения в оттенках серого с альфа-каналом, который упакует пиксели заданной разрядности в элементы массива заданного типа данных. |
static ImageTypeSpecifier |
createIndexed(byte[] redLUT,
byte[] greenLUT,
byte[] blueLUT,
byte[] alphaLUT,
int bits,
int dataType) Возвращает спецификатор для индексированного цветового формата изображения, который упакует значения индексов заданной разрядности в элементы массива заданного типа данных. |
static ImageTypeSpecifier |
createInterleaved(ColorSpace colorSpace,
int[] bandOffsets,
int dataType,
boolean hasAlpha,
boolean isAlphaPremultiplied) Возвращает спецификатор для интерлированного формата изображения, который будет использовать |
static ImageTypeSpecifier |
createPacked(ColorSpace colorSpace,
int redMask,
int greenMask,
int blueMask,
int alphaMask,
int transferType,
boolean isAlphaPremultiplied) Возвращает спецификатор для упакованного формата изображения, который будет использовать |
boolean |
equals(Object o) Возвращает |
int |
getBitsPerBand(int band) Возвращает количество бит, используемых для представления образцов данного канала. |
int |
getBufferedImageType() Возвращает целое число, содержащее одно из перечисленных значений констант, описывающих форматы изображений из |
ColorModel |
getColorModel() Возвращает |
int |
getNumBands() Возвращает количество каналов, заданное этим объектом. |
int |
getNumComponents() Возвращает количество цветовых компонентов, заданных этим объектом. |
SampleModel |
getSampleModel() Возвращает |
SampleModel |
getSampleModel(int width,
int height) Возвращает |
int |
hashCode() Возвращает код хэша для этого ImageTypeSpecifier. |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait Поля
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- массивintс указанием смещений для каждого канала. -
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- массивint, указывающий банк, в котором будет храниться каждый канал. -
bandOffsets- массивint, указывающий начальное смещение каждого канала в его банке. -
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- еслиredLUTnull. -
IllegalArgumentException- еслиgreenLUTnull. -
IllegalArgumentException- еслиblueLUTnull. -
IllegalArgumentException- еслиbitsне равно одному из 1, 2, 4, 8 или 16. -
IllegalArgumentException- если параметры LUT без прозрачности не имеют длину ровно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. - См. также:
-
BufferedImage,BufferedImage.TYPE_INT_RGB,BufferedImage.TYPE_INT_ARGB,BufferedImage.TYPE_INT_ARGB_PRE,BufferedImage.TYPE_INT_BGR,BufferedImage.TYPE_3BYTE_BGR,BufferedImage.TYPE_4BYTE_ABGR,BufferedImage.TYPE_4BYTE_ABGR_PRE,BufferedImage.TYPE_USHORT_565_RGB,BufferedImage.TYPE_USHORT_555_RGB,BufferedImage.TYPE_BYTE_GRAY,BufferedImage.TYPE_USHORT_GRAY,BufferedImage.TYPE_BYTE_BINARY,BufferedImage.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. - См. также:
-
BufferedImage,BufferedImage.TYPE_CUSTOM,BufferedImage.TYPE_INT_RGB,BufferedImage.TYPE_INT_ARGB,BufferedImage.TYPE_INT_ARGB_PRE,BufferedImage.TYPE_INT_BGR,BufferedImage.TYPE_3BYTE_BGR,BufferedImage.TYPE_4BYTE_ABGR,BufferedImage.TYPE_4BYTE_ABGR_PRE,BufferedImage.TYPE_USHORT_565_RGB,BufferedImage.TYPE_USHORT_555_RGB,BufferedImage.TYPE_BYTE_GRAY,BufferedImage.TYPE_USHORT_GRAY,BufferedImage.TYPE_BYTE_BINARY,BufferedImage.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, равные соответствующим значениям этого объекта.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
o- объектObjectдля сравнения на равенство. - Возвращает:
-
trueесли данный объект является эквивалентнымImageTypeSpecifier. - См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает хэш-код для ImageTypeSpecifier.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- хэш-код для ImageTypeSpecifier
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
© 1993, 2020, 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.