Класс ImageTypeSpecifier

public class ImageTypeSpecifier
extends Object

Класс, позволяющий удобно задать формат изображения (в частности, его SampleModel и ColorModel).

Поля

Модификатор и тип Поле Описание
protected ColorModel colorModel

ColorModel для использования в качестве прототипа.

protected SampleModel sampleModel

SampleModel для использования в качестве прототипа.

Конструкторы

Конструктор Описание
ImageTypeSpecifier​(ColorModel colorModel, SampleModel sampleModel)

Создаёт ImageTypeSpecifier напрямую из ColorModel и SampleModel.

ImageTypeSpecifier​(RenderedImage image)

Создаёт ImageTypeSpecifier из RenderedImage.

Методы

Модификатор и тип Метод Описание
static ImageTypeSpecifier createBanded​(ColorSpace colorSpace, int[] bankIndices, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)

Возвращает спецификатор для формата изображения с полосами, который будет использовать ComponentColorModel и BandedSampleModel для хранения каждого канала в отдельном массиве.

BufferedImage createBufferedImage​(int width, int height)

Создаёт BufferedImage с заданной шириной и высотой в соответствии со спецификацией, представленной в этом объекте.

static ImageTypeSpecifier createFromBufferedImageType​(int bufferedImageType)

Возвращает ImageTypeSpecifier, кодирующий один из стандартных типов BufferedImage (кроме TYPE_CUSTOM).

static ImageTypeSpecifier createFromRenderedImage​(RenderedImage image)

Возвращает ImageTypeSpecifier, кодирующий структуру RenderedImage (которая может быть BufferedImage).

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)

Возвращает спецификатор для интерлинованного формата изображения, который будет использовать ComponentColorModel и PixelInterleavedSampleModel для хранения каждого компонента пикселя в отдельном байте, слове или целом числе.

static ImageTypeSpecifier createPacked​(ColorSpace colorSpace, int redMask, int greenMask, int blueMask, int alphaMask, int transferType, boolean isAlphaPremultiplied)

Возвращает спецификатор для упакованного формата изображения, который будет использовать DirectColorModel и упакованный SampleModel для хранения каждого пикселя, упакованного в один байт, слово или целое число.

boolean equals​(Object o)

Возвращает true, если заданный Object является ImageTypeSpecifier и имеет SampleModel и ColorModel, равные значениям этого объекта.

int getBitsPerBand​(int band)

Возвращает количество бит, используемых для представления образцов заданной полосы.

int getBufferedImageType()

Возвращает целое число, содержащее одно из перечисленных значений констант, описывающих форматы изображений из BufferedImage.

ColorModel getColorModel()

Возвращает ColorModel, заданный этим объектом.

int getNumBands()

Возвращает количество полос, заданных этим объектом.

int getNumComponents()

Возвращает количество компонентов цвета, заданных этим объектом.

SampleModel getSampleModel()

Возвращает SampleModel на основе настроек, упакованных в этом объекте.

SampleModel getSampleModel​(int width, int height)

Возвращает SampleModel на основе настроек, упакованных в этом объекте.

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 - a RenderedImage.
Возвращает:
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

Spec-Zone .ru
спецификации, руководства, описания, API