Класс 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.
Ответственность за предоставление совместимых параметров лежит на вызывающей стороне.
- Parameters:
-
colorModel-ColorModel. -
sampleModel-SampleModel. - Throws:
-
IllegalArgumentException- если какой-либо из параметров являетсяnull. -
IllegalArgumentException- еслиsampleModelнесовместим сcolorModel.
ImageTypeSpecifier
public ImageTypeSpecifier(RenderedImage image)
Создаёт ImageTypeSpecifier из RenderedImage.
Если используется BufferedImage , следует использовать один из методов-фабрик createFromRenderedImage или createFromBufferedImageType для получения более точного результата.
- Parameters:
-
image-RenderedImage. - Throws:
-
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- еслиcolorSpaceравенnull. -
IllegalArgumentException- еслиcolorSpaceне является объектом типаTYPE_RGB. -
IllegalArgumentException- если ни одна из масок не имеет хотя бы одного установленного бита. -
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- еслиcolorSpaceравенnull. -
IllegalArgumentException- еслиbandOffsetsравенnull. -
IllegalArgumentException- еслиdataTypeне является одним из допустимыхDataBuffer.TYPE_*констант. -
IllegalArgumentException- еслиbandOffsets.lengthне равно числу компонентов цветового пространства плюс 1, еслиhasAlphaравноtrue.
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- еслиcolorSpaceравенnull. -
IllegalArgumentException- еслиbankIndicesравенnull. -
IllegalArgumentException- еслиbandOffsetsравенnull. -
IllegalArgumentException- если длиныbankIndicesиbandOffsetsразличаются. -
IllegalArgumentException- еслиbandOffsets.lengthне равно числу компонентов цветового пространства плюс 1, еслиhasAlphaравноtrue. -
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для создания полностью непрозрачной таблицы. -
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)
Возвращает спецификатор, который кодирует один из стандартных типов 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)
Возвращает спецификатор, который кодирует макет RenderedImage (который может быть BufferedImage).
- Параметры:
-
image- aRenderedImage. - Возвращает:
- an
ImageTypeSpecifierс желаемыми характеристиками. - Выбрасывает:
-
IllegalArgumentException- еслиimageявляетсяnull.
getBufferedImageType
public int getBufferedImageType()
Возвращает целое число, содержащее одно из перечисленных значений констант, описывающих форматы изображений из BufferedImage.
- Возвращает:
- an
intпредставляющий тип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 будут установлены в произвольные значения.
- Возвращает:
- a
SampleModelс произвольными размерами.
getSampleModel
public SampleModel getSampleModel(int width,
int height) Возвращает SampleModel на основе настроек, заключенных в этом объекте. Ширина и высота SampleModel будут установлены в предоставленные значения.
- Параметры:
-
width- желаемая ширина возвращаемогоSampleModel. -
height- желаемая высота возвращаемогоSampleModel. - Возвращает:
- a
SampleModelс заданными размерами. - Выбрасывает:
-
IllegalArgumentException- если либоwidthилиheightотрицательны или равны нулю. -
IllegalArgumentException- если произведениеwidthиheightбольшеInteger.MAX_VALUE
getColorModel
public ColorModel getColorModel()
Возвращает ColorModel заданный этим объектом.
- Возвращает:
- a
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/imageio/ImageTypeSpecifier.html