Spec-Zone.ru › OpenJDK 27

Класс IndexColorModel

java.lang.Object
java.awt.image.ColorModel
java.awt.image.IndexColorModel
Все реализуемые интерфейсы:
Transparency
public class IndexColorModel extends ColorModel
Класс IndexColorModel — это класс ColorModel, работающий со значениями пикселей, состоящими из одного отсчёта, который является индексом в фиксированной цветовой таблице в цветовом пространстве sRGB по умолчанию. Цветовая таблица задаёт красный, зелёный, синий и необязательные альфа-компоненты для каждого индекса. Все компоненты представлены в цветовой таблице в виде 8-битных беззнаковых целых значений. Некоторые конструкторы позволяют вызывающему коду указать «пустые места» в цветовой таблице, определяя, какие её записи действительны, а какие обозначают недопустимые цвета, с помощью установленных битов в объекте BigInteger. Эта цветовая модель похожа на визуальный класс PseudoColor в X11.

Некоторые конструкторы позволяют указать альфа-компонент для каждого пикселя в цветовой таблице, тогда как другие такой возможности не предоставляют или в некоторых случаях позволяют указать флаг, определяющий, содержит ли таблица альфа-значения. Если альфа-компонент не передан конструктору, для каждой записи предполагается непрозрачный альфа-компонент (alpha = 1.0). Можно указать необязательное значение прозрачного пикселя, которое обозначает пиксель, подлежащий полной прозрачности независимо от альфа-компонента, заданного или предполагаемого для этого значения пикселя. Обратите внимание, что цветовые компоненты в цветовой таблице объектов IndexColorModel никогда не предварительно умножаются на альфа-компоненты.

Прозрачность объекта IndexColorModel определяется проверкой альфа-компонентов цветов в цветовой таблице и выбором наиболее конкретного значения с учётом необязательных альфа-значений и указанного прозрачного индекса. Значение прозрачности равно Transparency.OPAQUE только в том случае, если все действительные цвета в цветовой таблице непрозрачны и отсутствует допустимый прозрачный пиксель. Если все действительные цвета либо полностью непрозрачны (alpha = 1.0), либо полностью прозрачны (alpha = 0.0), что обычно происходит, когда указан допустимый прозрачный пиксель, значение равно Transparency.BITMASK. В противном случае значение равно Transparency.TRANSLUCENT, что означает, что у некоторого допустимого цвета альфа-компонент не является ни полностью прозрачным, ни полностью непрозрачным (0.0 < alpha < 1.0).

Если объект IndexColorModel имеет значение прозрачности Transparency.OPAQUE, методы hasAlpha и getNumComponents (оба унаследованы от ColorModel) возвращают соответственно false и 3. Для любого другого значения прозрачности метод hasAlpha возвращает true, а getNumComponents — 4.

Значения, используемые для индексации цветовой таблицы, берутся из наименее значащих n бит представления пикселя, где n зависит от размера пикселя, указанного в конструкторе. Для размеров пикселя менее 8 бит значение n округляется вверх до степени двойки (3 становится 4, а 5, 6 и 7 становятся 8). Для размеров пикселя от 8 до 16 бит значение n равно размеру пикселя. Этот класс не поддерживает размеры пикселя более 16 бит. Старшие биты представления пикселя, расположенные за пределами n, игнорируются. Значения индекса, большие или равные размеру таблицы, но меньшие 2n, не определены; для всех цветовых и альфа-компонентов возвращается 0.

Для методов, использующих представление пикселя в примитивном массиве типа transferType, длина массива всегда равна единице. Поддерживаются типы передачи DataBuffer.TYPE_BYTE и DataBuffer.TYPE_USHORT. Представление пикселя в виде одного значения int допустимо для всех объектов этого класса, поскольку значения пикселей, используемые с этим классом, всегда можно представить одним значением int. Поэтому методы, использующие такое представление, не выбрасывают IllegalArgumentException из-за недопустимого значения пикселя.

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

См. также:
  • ColorModel
  • ColorSpace
  • DataBuffer

Краткое описание полей

Поля, объявленные в классе ColorModel

pixel_bits, transferType
Модификатор и тип Поле Описание
protected int pixel_bits
Общее количество бит в пикселе.
protected int transferType
Тип данных массива, используемого для представления значений пикселей.

Поля, объявленные в интерфейсе Transparency

BITMASK, OPAQUE, TRANSLUCENT
Модификатор и тип Поле Описание
static final int BITMASK
Представляет данные изображения, для которых гарантируется, что они либо полностью непрозрачны, со значением альфа-канала 1.0, либо полностью прозрачны, со значением альфа-канала 0.0.
static final int OPAQUE
Представляет данные изображения, для которых гарантируется полная непрозрачность, то есть все пиксели имеют значение альфа-канала 1.0.
static final int TRANSLUCENT
Представляет данные изображения, которые содержат или могут содержать произвольные значения альфа-канала от 0.0 до 1.0 включительно.

Краткое описание конструкторов

Конструктор Описание
IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b)
Создаёт объект IndexColorModel из указанных массивов красных, зелёных и синих компонентов.
IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, byte[] a)
Создаёт объект IndexColorModel из заданных массивов красных, зелёных, синих и альфа-компонентов.
IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, int trans)
Создаёт объект IndexColorModel из заданных массивов красных, зелёных и синих компонентов.
IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha)
Создаёт объект IndexColorModel из одного массива чередующихся красных, зелёных, синих и необязательных альфа-компонентов.
IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha, int trans)
Создаёт объект IndexColorModel из одного массива чередующихся красных, зелёных, синих и необязательных альфа-компонентов.
IndexColorModel(int bits, int size, int[] cmap, int start, boolean hasalpha, int trans, int transferType)
Создаёт объект IndexColorModel из массива значений int, каждое из которых состоит из красного, зелёного, синего и необязательного альфа-компонентов в формате цветовой модели RGB по умолчанию.
IndexColorModel(int bits, int size, int[] cmap, int start, int transferType, BigInteger validBits)
Создаёт объект IndexColorModel из массива int, каждый элемент int которого состоит из красного, зелёного, синего и альфа-компонентов в формате цветовой модели RGB по умолчанию.

Краткое описание методов

Модификатор и тип Метод Описание
BufferedImage convertToIntDiscrete(Raster raster, boolean forceARGB)
Возвращает новый объект BufferedImage типа TYPE_INT_ARGB или TYPE_INT_RGB, имеющий Raster с данными пикселей, вычисленными путём преобразования индексов исходного Raster с использованием массивов цветовых/альфа-компонентов этого ColorModel.
SampleModel createCompatibleSampleModel(int w, int h)
Создаёт SampleModel с указанными шириной и высотой, структура данных которого совместима с этим ColorModel.
WritableRaster createCompatibleWritableRaster(int w, int h)
Создаёт WritableRaster с указанными шириной и высотой, структура данных (SampleModel) которого совместима с этим ColorModel.
boolean equals(Object obj)
Проверяет, является ли указанный Object экземпляром IndexColorModel и равен ли он этому IndexColorModel
final int getAlpha(int pixel)
Возвращает альфа-компонент указанного пикселя, масштабированный от 0 до 255.
final void getAlphas(byte[] a)
Копирует массив альфа-компонентов прозрачности в указанный массив.
final int getBlue(int pixel)
Возвращает компонент синего цвета указанного пикселя, масштабированный от 0 до 255 в цветовом пространстве RGB по умолчанию — sRGB.
final void getBlues(byte[] b)
Копирует массив компонентов синего цвета в указанный массив.
int[] getComponents(int pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых/альфа-компонентов для указанного пикселя в этом ColorModel.
int[] getComponents(Object pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых/альфа-компонентов для указанного пикселя в этом ColorModel.
int[] getComponentSize()
Возвращает массив, содержащий количество бит для каждого цветового/альфа-компонента.
int getDataElement(int[] components, int offset)
Возвращает значение пикселя в виде int для этого ColorModel на основе массива ненормализованных цветовых/альфа-компонентов.
Object getDataElements(int[] components, int offset, Object pixel)
Возвращает представление пикселя в виде массива элементов данных для этого ColorModel на основе массива ненормализованных цветовых/альфа-компонентов.
Object getDataElements(int rgb, Object pixel)
Возвращает представление пикселя в виде массива элементов данных для этой ColorModel на основе целочисленного представления пикселя в цветовой модели RGB по умолчанию.
final int getGreen(int pixel)
Возвращает компонент зелёного цвета указанного пикселя, масштабированный от 0 до 255 в цветовом пространстве RGB по умолчанию — sRGB.
final void getGreens(byte[] g)
Копирует массив компонентов зелёного цвета в указанный массив.
final int getMapSize()
Возвращает размер массивов цветовых/альфа-компонентов этого IndexColorModel.
final int getRed(int pixel)
Возвращает компонент красного цвета указанного пикселя, масштабированный от 0 до 255 в цветовом пространстве RGB по умолчанию — sRGB.
final void getReds(byte[] r)
Копирует массив компонентов красного цвета в указанный массив.
final int getRGB(int pixel)
Возвращает цветовые/альфа-компоненты пикселя в формате цветовой модели RGB по умолчанию.
final void getRGBs(int[] rgb)
Преобразует данные каждого индекса из массивов цветовых и альфа-компонентов в значение int в формате ColorModel RGB по умолчанию и копирует полученные 32-битные значения ARGB в указанный массив.
int getTransparency()
Возвращает значение прозрачности.
final int getTransparentPixel()
Возвращает индекс прозрачного пикселя в этом IndexColorModel или -1, если пикселя со значением альфа-канала 0 нет.
BigInteger getValidPixels()
Возвращает BigInteger, указывающий допустимые и недопустимые пиксели в цветовой таблице.
int hashCode()
Возвращает хеш-код для IndexColorModel.
boolean isCompatibleRaster(Raster raster)
Возвращает true, если raster совместим с этим ColorModel, или false, если он несовместим с этим ColorModel.
boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместим ли указанный SampleModel с этим ColorModel.
boolean isValid()
Возвращает признак того, допустимы ли все пиксели.
boolean isValid(int pixel)
Возвращает признак допустимости пикселя.
String toString()
Возвращает представление содержимого объекта ColorModel в формате String.

Методы, объявленные в классе ColorModel

coerceData, getAlpha, getAlphaRaster, getBlue, getColorSpace, getComponentSize, getDataElement, getDataElements, getGreen, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRed, getRGB, getRGBdefault, getTransferType, getUnnormalizedComponents, hasAlpha, isAlphaPremultiplied
Модификатор и тип Метод Описание
ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
Приводит данные растра в соответствие с состоянием, заданным в переменной isAlphaPremultiplied, предполагая, что данные в данный момент корректно описываются этим ColorModel.
int getAlpha(Object inData)
Возвращает альфа-компонент указанного пикселя, масштабированный от 0 до 255.
WritableRaster getAlphaRaster(WritableRaster raster)
Возвращает Raster, представляющий альфа-канал изображения, извлечённый из входного Raster, при условии, что значения пикселей этого ColorModel представляют информацию о цвете и альфа-канале в виде отдельных пространственных полос (например,
int getBlue(Object inData)
Возвращает компонент синего цвета указанного пикселя, масштабированный от 0 до 255 в цветовом пространстве RGB по умолчанию ColorSpace, sRGB.
final ColorSpace getColorSpace()
Возвращает ColorSpace, связанный с этим ColorModel.
int getComponentSize(int componentIdx)
Возвращает количество бит для указанного цветового/альфа-компонента.
int getDataElement(float[] normComponents, int normOffset)
Возвращает значение пикселя в виде int в этом ColorModel на основе массива нормализованных цветовых/альфа-компонентов.
Object getDataElements(float[] normComponents, int normOffset, Object obj)
Возвращает представление пикселя в виде массива элементов данных для этого ColorModel на основе массива нормализованных цветовых/альфа-компонентов.
int getGreen(Object inData)
Возвращает компонент зелёного цвета указанного пикселя, масштабированный от 0 до 255 в цветовом пространстве RGB по умолчанию ColorSpace, sRGB.
float[] getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
Возвращает массив всех цветовых/альфа-компонентов в нормализованной форме на основе массива ненормализованных компонентов.
float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
Возвращает массив всех цветовых/альфа-компонентов в нормализованной форме на основе пикселя в этом ColorModel.
int getNumColorComponents()
Возвращает количество цветовых компонентов в этом ColorModel.
int getNumComponents()
Возвращает количество компонентов, включая альфа-компонент, в этом ColorModel.
int getPixelSize()
Возвращает количество бит на пиксель, описываемое этим ColorModel.
int getRed(Object inData)
Возвращает компонент красного цвета указанного пикселя, масштабированный от 0 до 255 в цветовом пространстве RGB по умолчанию ColorSpace, sRGB.
int getRGB(Object inData)
Возвращает цветовые/альфа-компоненты указанного пикселя в формате цветовой модели RGB по умолчанию.
static ColorModel getRGBdefault()
Возвращает DirectColorModel, описывающий формат по умолчанию для целочисленных значений RGB, используемых во многих методах интерфейсов изображений AWT для удобства программиста.
final int getTransferType()
Возвращает тип передачи этого ColorModel.
int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
Возвращает массив всех цветовых/альфа-компонентов в ненормализованной форме на основе массива нормализованных компонентов.
final boolean hasAlpha()
Возвращает признак поддержки альфа-канала в этом ColorModel.
final boolean isAlphaPremultiplied()
Возвращает признак того, предварительно ли альфа-канал умножен на значения пикселей, преобразуемые этим ColorModel.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарело, удаление: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

IndexColorModel

public IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b)
Создает IndexColorModel из указанных массивов компонентов красного, зеленого и синего цветов. Пиксели, описываемые этой цветовой моделью, имеют компоненты альфа-канала со значением 255 без нормализации (1.0 после нормализации), то есть являются полностью непрозрачными. Все массивы, задающие компоненты цвета, должны содержать не меньше указанного количества элементов. ColorSpace — цветовое пространство sRGB по умолчанию. Поскольку ни один из аргументов этого конструктора не содержит сведений об альфа-канале, значение прозрачности всегда равно Transparency.OPAQUE. Тип передачи данных — наименьший из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT, способный хранить один пиксель.
Параметры:
bits — количество бит, занимаемых каждым пикселем
size — размер массивов компонентов цвета
r — массив компонентов красного цвета
g — массив компонентов зеленого цвета
b — массив компонентов синего цвета
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1

IndexColorModel

public IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, int trans)
Создает IndexColorModel из указанных массивов компонентов красного, зеленого и синего цветов. Пиксели, описываемые этой цветовой моделью, имеют компоненты альфа-канала со значением 255 без нормализации (1.0 после нормализации), то есть являются полностью непрозрачными, за исключением указанного пикселя, который становится прозрачным. Все массивы, задающие компоненты цвета, должны содержать не меньше указанного количества элементов. ColorSpace — цветовое пространство sRGB по умолчанию. В зависимости от аргументов значение прозрачности может быть Transparency.OPAQUE или Transparency.BITMASK, как описано выше в описании класса. Тип передачи данных — наименьший из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT, способный хранить один пиксель.
Параметры:
bits — количество бит, занимаемых каждым пикселем
size — размер массивов компонентов цвета
r — массив компонентов красного цвета
g — массив компонентов зеленого цвета
b — массив компонентов синего цвета
trans — индекс прозрачного пикселя
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1

IndexColorModel

public IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, byte[] a)
Создает IndexColorModel из указанных массивов компонентов красного, зеленого, синего цветов и альфа-канала. Все массивы, задающие компоненты, должны содержать не меньше указанного количества элементов. ColorSpace — цветовое пространство sRGB по умолчанию. В зависимости от аргументов значение прозрачности может быть Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT, как описано выше в описании класса. Тип передачи данных — наименьший из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT, способный хранить один пиксель.
Параметры:
bits — количество бит, занимаемых каждым пикселем
size — размер массивов компонентов цвета
r — массив компонентов красного цвета
g — массив компонентов зеленого цвета
b — массив компонентов синего цвета
a — массив компонентов значения альфа-канала
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1

IndexColorModel

public IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha)
Создает IndexColorModel из одного массива чередующихся компонентов красного, зеленого, синего цветов и необязательного альфа-канала. Массив должен содержать достаточно значений для заполнения всех необходимых массивов компонентов указанного размера. ColorSpace — цветовое пространство sRGB по умолчанию. В зависимости от аргументов значение прозрачности может быть Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT, как описано выше в описании класса. Тип передачи данных — наименьший из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT, способный хранить один пиксель.
Параметры:
bits — количество бит, занимаемых каждым пикселем
size — размер массивов компонентов цвета
cmap — массив компонентов цвета
start — начальное смещение первого компонента цвета
hasalpha — указывает, содержатся ли значения альфа-канала в массиве cmap
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1

IndexColorModel

public IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha, int trans)
Создает IndexColorModel из одного массива чередующихся компонентов красного, зеленого, синего цветов и необязательного альфа-канала. Указанный прозрачный индекс соответствует пикселю, который становится полностью прозрачным независимо от заданного для него значения альфа-канала. Массив должен содержать достаточно значений для заполнения всех необходимых массивов компонентов указанного размера. ColorSpace — цветовое пространство sRGB по умолчанию. В зависимости от аргументов значение прозрачности может быть Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT, как описано выше в описании класса. Тип передачи данных — наименьший из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT, способный хранить один пиксель.
Параметры:
bits — количество бит, занимаемых каждым пикселем
size — размер массивов компонентов цвета
cmap — массив компонентов цвета
start — начальное смещение первого компонента цвета
hasalpha — указывает, содержатся ли значения альфа-канала в массиве cmap
trans — индекс полностью прозрачного пикселя
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1

IndexColorModel

public IndexColorModel(int bits, int size, int[] cmap, int start, boolean hasalpha, int trans, int transferType)
Создает IndexColorModel из массива целых чисел, каждое из которых содержит компоненты красного, зеленого, синего цветов и необязательного альфа-канала в формате цветовой модели RGB по умолчанию. Массив должен содержать достаточно значений для заполнения всех необходимых массивов компонентов указанного размера. ColorSpace — цветовое пространство sRGB по умолчанию. В зависимости от аргументов значение прозрачности может быть Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT, как описано выше в описании класса.
Параметры:
bits — количество бит, занимаемых каждым пикселем
size — размер массивов компонентов цвета
cmap — массив компонентов цвета
start — начальное смещение первого компонента цвета
hasalpha — указывает, содержатся ли значения альфа-канала в массиве cmap
trans — индекс полностью прозрачного пикселя
transferType — тип данных массива, используемого для представления значений пикселей. Тип данных должен быть DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT.
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1
IllegalArgumentException — если transferType не является одним из следующих типов: DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT

IndexColorModel

public IndexColorModel(int bits, int size, int[] cmap, int start, int transferType, BigInteger validBits)
Создает IndexColorModel из массива int, каждый элемент int которого содержит компоненты красного, зеленого, синего цветов и альфа-канала в формате цветовой модели RGB по умолчанию. Массив должен содержать достаточно значений для заполнения всех необходимых массивов компонентов указанного размера. ColorSpace — цветовое пространство sRGB по умолчанию. В зависимости от аргументов значение прозрачности может быть Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT, как описано выше в описании класса. Тип передачи данных должен быть одним из DataBuffer.TYPE_BYTE DataBuffer.TYPE_USHORT. Объект BigInteger задает допустимые и недопустимые пиксели в массиве cmap. Пиксель допустим, если установлено значение BigInteger по этому индексу, и недопустим, если бит BigInteger по этому индексу не установлен.
Параметры:
bits — количество бит, занимаемых каждым пикселем
size — размер массива компонентов цвета
cmap — массив компонентов цвета
start — начальное смещение первого компонента цвета
transferType — указанный тип данных
validBits — объект BigInteger. Если бит в BigInteger установлен, пиксель с этим индексом допустим. Если бит не установлен, пиксель с этим индексом считается недопустимым. Если значение равно null, допустимы все пиксели. Учитываются только биты от 0 до размера карты.
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1
IllegalArgumentException — если transferType не является одним из следующих типов: DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT
Начиная с:
1.3

Подробное описание методов

getTransparency

public int getTransparency()
Возвращает тип прозрачности: OPAQUE, BITMASK или TRANSLUCENT.
Определено в:
getTransparency в интерфейсе Transparency
Переопределяет:
getTransparency в классе ColorModel
Возвращает:
тип прозрачности этого IndexColorModel
См. также:
  • Transparency.OPAQUE
  • Transparency.BITMASK
  • Transparency.TRANSLUCENT

getComponentSize

public int[] getComponentSize()
Возвращает массив, содержащий количество бит для каждого компонента цвета и альфа-канала. В массиве компоненты цвета расположены в следующем порядке: красный, зеленый, синий, а затем, если он присутствует, компонент альфа-канала.
Переопределяет:
getComponentSize в классе ColorModel
Возвращает:
массив с количеством бит каждого компонента цвета и альфа-канала этого IndexColorModel

getMapSize

public final int getMapSize()
Возвращает размер массивов компонентов цвета и альфа-канала в этом IndexColorModel.
Возвращает:
размер массивов компонентов цвета и альфа-канала.

getTransparentPixel

public final int getTransparentPixel()
Возвращает индекс прозрачного пикселя в этом IndexColorModel или -1, если нет пикселя со значением альфа-канала 0. Если прозрачный пиксель был явно задан в одном из конструкторов с помощью его индекса, будет предпочтительно возвращен этот индекс; в противном случае может быть возвращен индекс любого пикселя, который оказался полностью прозрачным.
Возвращает:
индекс прозрачного пикселя в этом объекте IndexColorModel или -1, если такого пикселя нет

getReds

public final void getReds(byte[] r)
Копирует массив компонентов красного цвета в указанный массив. Заполняются только первые элементы массива, количество которых задается методом getMapSize.
Параметры:
r — указанный массив, в который копируются элементы массива компонентов красного цвета

getGreens

public final void getGreens(byte[] g)
Копирует массив компонентов зеленого цвета в указанный массив. Заполняются только первые элементы массива, количество которых задается getMapSize.
Параметры:
g — указанный массив, в который копируются элементы массива компонентов зеленого цвета

getBlues

public final void getBlues(byte[] b)
Копирует массив компонентов синего цвета в указанный массив. Заполняются только первые элементы массива, количество которых задается getMapSize.
Параметры:
b — указанный массив, в который копируются элементы массива компонентов синего цвета

getAlphas

public final void getAlphas(byte[] a)
Копирует массив компонентов прозрачности альфа-канала в указанный массив. Заполняются только первые элементы массива, количество которых задается getMapSize.
Параметры:
a — указанный массив, в который копируются элементы массива компонентов альфа-канала

getRGBs

public final void getRGBs(int[] rgb)
Преобразует данные для каждого индекса из массивов компонентов цвета и альфа-канала в целое число в формате модели ColorModel RGB по умолчанию и копирует полученные 32-разрядные значения ARGB в указанный массив. Заполняются только первые элементы массива, количество которых задается getMapSize.
Параметры:
rgb — указанный массив, в который копируются преобразованные значения ARGB из этого массива компонентов цвета и альфа-канала.

getRed

public final int getRed(int pixel)
Возвращает компонент красного цвета для указанного пикселя в диапазоне от 0 до 255 в цветовом пространстве RGB по умолчанию — sRGB. Значение пикселя задается как int. Для вычисления возвращаемого значения используются только младшие n бит значения пикселя, как описано выше в описании класса. Возвращаемое значение не является предварительно умноженным.
Определено в:
getRed в классе ColorModel
Параметры:
pixel — указанный пиксель
Возвращает:
значение компонента красного цвета указанного пикселя

getGreen

public final int getGreen(int pixel)
Возвращает компонент зеленого цвета для указанного пикселя в диапазоне от 0 до 255 в цветовом пространстве RGB по умолчанию — sRGB. Значение пикселя задается как int. Для вычисления возвращаемого значения используются только младшие n бит значения пикселя, как описано выше в описании класса. Возвращаемое значение не является предварительно умноженным.
Определено в:
getGreen в классе ColorModel
Параметры:
pixel — указанный пиксель
Возвращает:
значение компонента зеленого цвета указанного пикселя

getBlue

public final int getBlue(int pixel)
Возвращает компонент синего цвета для указанного пикселя в диапазоне от 0 до 255 в цветовом пространстве RGB по умолчанию — sRGB. Значение пикселя задается как int. Для вычисления возвращаемого значения используются только младшие n бит значения пикселя, как описано выше в описании класса. Возвращаемое значение не является предварительно умноженным.
Определено в:
getBlue в классе ColorModel
Параметры:
pixel — указанный пиксель
Возвращает:
значение компонента синего цвета указанного пикселя

getAlpha

public final int getAlpha(int pixel)
Возвращает компонент альфа-канала указанного пикселя в диапазоне от 0 до 255. Значение пикселя задается как int. Для вычисления возвращаемого значения используются только младшие n бит значения пикселя, как описано выше в описании класса.
Определено в:
getAlpha в классе ColorModel
Параметры:
pixel — указанный пиксель
Возвращает:
значение компонента альфа-канала указанного пикселя

getRGB

public final int getRGB(int pixel)
Возвращает компоненты цвета и альфа-канала пикселя в формате цветовой модели RGB по умолчанию. Значение пикселя задается как int. Для вычисления возвращаемого значения используются только младшие n бит значения пикселя, как описано выше в описании класса. Возвращаемое значение представлено в формате без предварительного умножения.
Переопределяет:
getRGB в классе ColorModel
Параметры:
pixel — указанный пиксель
Возвращает:
компоненты цвета и альфа-канала указанного пикселя
См. также:
  • ColorModel.getRGBdefault()

getDataElements

public Object getDataElements(int rgb, Object pixel)
Возвращает представление пикселя в виде массива элементов данных, полученное из целочисленного представления пикселя в цветовой модели RGB по умолчанию. Этот массив можно передать методу setDataElements объекта WritableRaster. Если переменная пикселя равна null, выделяется новый массив. Если pixel не равно null, это должен быть примитивный массив типа transferType; в противном случае выбрасывается ClassCastException. Если pixel недостаточно велик, чтобы вместить значение пикселя для этого ColorModel, выбрасывается ArrayIndexOutOfBoundsException. Возвращается массив пикселя.

Поскольку IndexColorModel может быть подклассом, подклассы наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType.

Переопределяет:
getDataElements в классе ColorModel
Параметры:
rgb — целочисленное представление пикселя в цветовой модели RGB по умолчанию
pixel — указанный пиксель
Возвращает:
представление указанного пикселя в виде массива в этом IndexColorModel.
Исключения:
ClassCastException — если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException — если pixel недостаточно велик, чтобы вместить значение пикселя для этого ColorModel
UnsupportedOperationException — если transferType недопустим
См. также:
  • WritableRaster.setDataElements(int, int, Object)
  • SampleModel.setDataElements(int, int, Object, DataBuffer)

getComponents

public int[] getComponents(int pixel, int[] components, int offset)
Возвращает массив ненормализованных компонентов цвета и альфа-канала для указанного пикселя в этом ColorModel. Значение пикселя задается как int. Если массив components равен null, выделяется новый массив, содержащий offset + getNumComponents() элементов. Возвращается массив components; компонент альфа-канала включается в него только в том случае, если hasAlpha возвращает true. Компоненты цвета и альфа-канала сохраняются в массиве components начиная с offset, даже если массив выделен этим методом. Если массив components не равен null и недостаточно велик для размещения всех компонентов цвета и альфа-канала начиная с offset, выбрасывается ArrayIndexOutOfBoundsException.
Переопределяет:
getComponents в классе ColorModel
Параметры:
pixel — указанный пиксель
components — массив для получения компонентов цвета и альфа-канала указанного пикселя
offset — смещение в массиве components, с которого начинается сохранение компонентов цвета и альфа-канала
Возвращает:
массив, содержащий компоненты цвета и альфа-канала указанного пикселя, начиная с заданного смещения.
См. также:
  • ColorModel.hasAlpha()
  • ColorModel.getNumComponents()

getComponents

public int[] getComponents(Object pixel, int[] components, int offset)
Возвращает массив ненормализованных компонентов цвета и альфа-канала для указанного пикселя в этом ColorModel. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Если pixel не является примитивным массивом типа transferType, выбрасывается ClassCastException. Если pixel недостаточно велик, чтобы вместить значение пикселя для этого ColorModel, выбрасывается ArrayIndexOutOfBoundsException. Если массив components равен null, выделяется новый массив, содержащий offset + getNumComponents() элементов. Возвращается массив components; компонент альфа-канала включается в него только в том случае, если hasAlpha возвращает true. Компоненты цвета и альфа-канала сохраняются в массиве components начиная с offset, даже если массив выделен этим методом. Если массив components не равен null и недостаточно велик для размещения всех компонентов цвета и альфа-канала начиная с offset, также выбрасывается ArrayIndexOutOfBoundsException.

Поскольку IndexColorModel может быть подклассом, подклассы наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType.

Переопределяет:
getComponents в классе ColorModel
Параметры:
pixel — указанный пиксель
components — массив для получения компонентов цвета и альфа-канала указанного пикселя
offset — индекс в массиве components, с которого начинается сохранение компонентов цвета и альфа-канала указанного пикселя
Возвращает:
массив, содержащий компоненты цвета и альфа-канала указанного пикселя, начиная с заданного смещения.
Исключения:
ArrayIndexOutOfBoundsException — если pixel недостаточно велик, чтобы вместить значение пикселя для этого ColorModel, или если массив components не равен null и недостаточно велик для размещения всех компонентов цвета и альфа-канала начиная с offset
ClassCastException — если pixel не является примитивным массивом типа transferType
UnsupportedOperationException — если transferType не относится к поддерживаемым типам передачи данных
См. также:
  • ColorModel.hasAlpha()
  • ColorModel.getNumComponents()

getDataElement

public int getDataElement(int[] components, int offset)
Возвращает значение пикселя в виде int в этом ColorModel на основе массива ненормализованных компонентов цвета и альфа-канала. Если массив components недостаточно велик для размещения всех компонентов цвета и альфа-канала начиная с offset, выбрасывается ArrayIndexOutOfBoundsException. Поскольку ColorModel может быть подклассом, подклассы наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType.
Переопределяет:
getDataElement в классе ColorModel
Параметры:
components — массив ненормализованных компонентов цвета и альфа-канала
offset — индекс в components, с которого начинается получение компонентов цвета и альфа-канала
Возвращает:
значение пикселя типа int в этом ColorModel, соответствующее указанным компонентам.
Исключения:
ArrayIndexOutOfBoundsException — если массив components недостаточно велик для размещения всех компонентов цвета и альфа-канала начиная с offset
UnsupportedOperationException — если transferType недопустим

getDataElements

public Object getDataElements(int[] components, int offset, Object pixel)
Возвращает представление пикселя в виде массива элементов данных в этом ColorModel для заданного массива ненормализованных компонентов цвета/альфа-канала. Этот массив можно затем передать методу setDataElements объекта WritableRaster. Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала, начиная с offset. Если переменная пикселя равна null, выделяется новый массив. Если pixel не равен null, он должен быть примитивным массивом типа transferType; в противном случае выбрасывается исключение ClassCastException. Выбрасывается исключение ArrayIndexOutOfBoundsException, если пиксель недостаточно велик, чтобы вместить значение пикселя для этого ColorModel.

Поскольку IndexColorModel может быть подклассом, подклассы наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType

Переопределяет:
getDataElements в классе ColorModel
Параметры:
components - массив ненормализованных компонентов цвета и альфа-канала
offset - индекс в components, с которого начинается получение компонентов цвета и альфа-канала
pixel - Object, представляющий массив компонентов цвета и альфа-канала
Возвращает:
Object, представляющий массив компонентов цвета и альфа-канала.
Выбрасывает:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик, чтобы вместить значение пикселя для этого ColorModel, или массив components недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала, начиная с offset
UnsupportedOperationException - если transferType не относится к поддерживаемым типам передачи
См. также:
  • WritableRaster.setDataElements(int, int, Object)
  • SampleModel.setDataElements(int, int, Object, DataBuffer)

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster(int w, int h)
Создает WritableRaster с указанными шириной и высотой и схемой данных (SampleModel), совместимой с этим ColorModel. Этот метод работает только с цветовыми моделями, содержащими не более 16 бит на пиксель.

Поскольку IndexColorModel может быть подклассом, любой подкласс, поддерживающий более 16 бит на пиксель, должен переопределять этот метод.

Переопределяет:
createCompatibleWritableRaster в классе ColorModel
Параметры:
w - ширина нового WritableRaster
h - высота нового WritableRaster
Возвращает:
объект WritableRaster с указанными шириной и высотой.
Выбрасывает:
UnsupportedOperationException - если число бит в пикселе превышает 16
См. также:
  • WritableRaster
  • SampleModel

isCompatibleRaster

public boolean isCompatibleRaster(Raster raster)
Возвращает true, если raster совместим с этим ColorModel, или false, если он несовместим с этим ColorModel.
Переопределяет:
isCompatibleRaster в классе ColorModel
Параметры:
raster - объект Raster, совместимость которого проверяется
Возвращает:
true, если raster совместим с этим ColorModel; в противном случае false.

createCompatibleSampleModel

public SampleModel createCompatibleSampleModel(int w, int h)
Создает SampleModel с указанными шириной и высотой и схемой данных, совместимой с этим ColorModel.
Переопределяет:
createCompatibleSampleModel в классе ColorModel
Параметры:
w - ширина нового SampleModel
h - высота нового SampleModel
Возвращает:
объект SampleModel с указанными шириной и высотой.
Выбрасывает:
IllegalArgumentException - если w или h не больше 0
См. также:
  • SampleModel

isCompatibleSampleModel

public boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместима ли указанная SampleModel с этим ColorModel. Если sm равно null, этот метод возвращает false.
Переопределяет:
isCompatibleSampleModel в классе ColorModel
Параметры:
sm - указанная SampleModel или null
Возвращает:
true, если указанная SampleModel совместима с этим ColorModel; в противном случае false.
См. также:
  • SampleModel

convertToIntDiscrete

public BufferedImage convertToIntDiscrete(Raster raster, boolean forceARGB)
Возвращает новый BufferedImage типа TYPE_INT_ARGB или TYPE_INT_RGB, содержащий Raster с данными пикселей, вычисленными путем развертывания индексов в исходном Raster с использованием массивов компонентов цвета/альфа-канала этой модели ColorModel. Для вычисления значений цвета/альфа-канала в возвращаемом изображении используются только младшие n бит каждого значения индекса в исходном Raster, как указано выше в описании класса. Если forceARGB равно true, возвращается изображение типа TYPE_INT_ARGB независимо от того, содержит ли эта модель ColorModel массив компонентов альфа-канала или прозрачный пиксель.
Параметры:
raster - указанный Raster
forceARGB - если true, возвращаемый BufferedImage имеет тип TYPE_INT_ARGB; в противном случае — TYPE_INT_RGB
Возвращает:
BufferedImage, созданный с указанным Raster
Выбрасывает:
IllegalArgumentException - если аргумент raster несовместим с IndexColorModel

isValid

public boolean isValid(int pixel)
Возвращает признак того, является ли пиксель допустимым.
Параметры:
pixel - указанное значение пикселя
Возвращает:
true, если pixel допустим; в противном случае false.
Начиная с версии:
1.3

isValid

public boolean isValid()
Возвращает признак того, являются ли все пиксели допустимыми.
Возвращает:
true, если все пиксели допустимы; в противном случае false.
Начиная с версии:
1.3

getValidPixels

public BigInteger getValidPixels()
Возвращает BigInteger, указывающий на допустимые/недопустимые пиксели в цветовой карте. Бит является допустимым, если установлено значение BigInteger по этому индексу, и недопустимым, если значение BigInteger по этому индексу не установлено. Допустимые диапазоны запросов в BigInteger находятся между 0 и размером карты.
Возвращает:
BigInteger, указывающий на допустимые/недопустимые пиксели.
Начиная с версии:
1.3

toString

public String toString()
Возвращает String-представление содержимого этого объекта ColorModel.
Переопределяет:
toString в классе ColorModel
Возвращает:
String, представляющую содержимое этого объекта ColorModel.

equals

public boolean equals(Object obj)
Проверяет, является ли указанный Object экземпляром IndexColorModel и равен ли он этому IndexColorModel
Переопределяет:
equals в классе ColorModel
Параметры:
obj - Object, равенство с которым проверяется
Возвращает:
true, если указанный Object равен этому IndexColorModel; в противном случае false.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хеш-код для IndexColorModel.
Переопределяет:
hashCode в классе ColorModel
Возвращает:
хеш-код для IndexColorModel
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API