Spec-Zone.ru › OpenJDK 21

Класс IndexColorModel

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

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

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

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

Поля, объявленные в классе java.awt.image.ColorModel

pixel_bits, transferType

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

BITMASK, OPAQUE, TRANSLUCENT

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

Конструктор Описание
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 из массива целых чисел, где каждое целое число содержит компоненты красного, зелёного, синего и (необязательного) альфа-канала в формате цветовой модели 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)
Возвращает значение пикселя, представленное целым числом в этом ColorModel для заданного массива ненормализованных компонентов цвета/альфа-канала.
Object getDataElements(int[] components, int offset, Object pixel)
Возвращает массив элементов данных, представляющих пиксель в этом ColorModel для заданного массива ненормализованных компонентов цвета/альфа-канала.
Object getDataElements(int rgb, Object pixel)
Возвращает массив элементов данных, представляющий пиксель в этой цветовой модели, для заданного целочисленного представления пикселя в цветовой модели 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)
Преобразует данные для каждого индекса из массивов компонентов цвета и альфа-канала в целое число в формате цветовой модели 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.

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

coerceData, getAlpha, getAlphaRaster, getBlue, getColorSpace, getComponentSize, getDataElement, getDataElements, getGreen, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRed, getRGB, getRGBdefault, getTransferType, getUnnormalizedComponents, hasAlpha, isAlphaPremultiplied

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

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

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 в этом индексе не установлен.
Parameters:
bits - количество битов, занимаемых каждым пикселем
size - размер массива компонентов цвета
cmap - массив компонентов цвета
start - начальный смещение первого компонента цвета
transferType - указанный тип данных
validBits - объект BigInteger. Если бит установлен в объекте BigInteger, пиксель в этом индексе считается допустимым. Если бит не установлен, пиксель в этом индексе считается недопустимым. Если null, все пиксели считаются допустимыми. Рассматриваются только биты от 0 до размера карты.
Throws:
IllegalArgumentException - если bits меньше 1 или больше 16
IllegalArgumentException - если size меньше 1
IllegalArgumentException - если transferType не равно одному из значений DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT
Since:
1.3

Подробные сведения о методах

getTransparency

public int getTransparency()
Возвращает значение прозрачности. Возвращает OPAQUE, BITMASK или TRANSLUCENT
Specified by:
getTransparency в интерфейсе Transparency
Overrides:
getTransparency в классе ColorModel
Returns:
значение прозрачности этого объекта IndexColorModel
See Also:
  • Transparency.OPAQUE
  • Transparency.BITMASK
  • Transparency.TRANSLUCENT

getComponentSize

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

getMapSize

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

getTransparentPixel

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

getReds

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

getGreens

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

getBlues

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

getAlphas

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

getRGBs

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

getRed

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

getGreen

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

getBlue

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

getAlpha

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

getRGB

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

getDataElements

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

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

Overrides:
getDataElements в классе ColorModel
Parameters:
rgb - целое число, представляющее пиксель в стандартной цветовой модели RGB
pixel - указанный пиксель
Returns:
массив, представляющий указанный пиксель в этом IndexColorModel.
Throws:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для данного ColorModel
UnsupportedOperationException - если transferType неверно
See Also:
  • WritableRaster.setDataElements(int, int, java.lang.Object)
  • SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

getComponents

public int[] getComponents(int pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых/альфа-компонентов для заданного пикселя в этом ColorModel. Значение пикселя задаётся как целое число. Если массив components пустой, создается новый массив, содержащий offset + getNumComponents() элементов. Возвращается массив components, содержащий альфа-компонент только если hasAlpha возвращает true. Цветовые/альфа-компоненты хранятся в массиве components начиная с индекса offset, даже если массив был выделен этим методом. Выбрасывается ArrayIndexOutOfBoundsException, если массив components не пустой и недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индекса offset.
Overrides:
getComponents в классе ColorModel
Parameters:
pixel - заданный пиксель
components - массив для хранения цветовых и альфа-компонентов указанного пикселя
offset - смещение в массиве components для начала хранения цветовых и альфа-компонентов
Returns:
массив, содержащий цветовые и альфа-компоненты заданного пикселя, начиная с указанного смещения.
See Also:
  • ColorModel.hasAlpha()
  • ColorModel.getNumComponents()

getComponents

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

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

Overrides:
getComponents в классе ColorModel
Parameters:
pixel - указанный пиксель
components - массив для хранения цветовых и альфа-компонентов указанного пикселя
offset - индекс в массиве components для начала хранения цветовых и альфа-компонентов указанного пикселя
Returns:
массив, содержащий цветовые и альфа-компоненты заданного пикселя, начиная с указанного индекса.
Throws:
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для данного ColorModel или если массив components не пустой и недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индекса offset
ClassCastException - если pixel не является примитивным массивом типа transferType
UnsupportedOperationException - если transferType не является одним из поддерживаемых типов передачи данных
See Also:
  • ColorModel.hasAlpha()
  • ColorModel.getNumComponents()

getDataElement

public int getDataElement(int[] components, int offset)
Возвращает значение пикселя, представленное как целое число в этом ColorModel, на основе массива ненормализованных цветовых/альфа-компонентов. Выбрасывается ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индекса offset. Так как ColorModel может иметь подклассы, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый тип передачи данных.
Overrides:
getDataElement в классе ColorModel
Parameters:
components - массив ненормализованных цветовых и альфа-компонентов
offset - индекс в массиве components для начала извлечения цветовых и альфа-компонентов
Returns:
значение пикселя в этом ColorModel соответствующее заданным компонентам.
Throws:
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 может иметь подклассы, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый тип передачи данных.

Overrides:
getDataElements в классе ColorModel
Parameters:
components - массив ненормализованных цветовых и альфа-компонентов
offset - индекс в массиве components для начала извлечения цветовых и альфа-компонентов
pixel - массив, представляющий данные цветовых и альфа-компонентов
Returns:
массив, представляющий данные цветовых и альфа-компонентов.
Throws:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для данного ColorModel или если массив components недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индекса offset
UnsupportedOperationException - если transferType не является одним из поддерживаемых типов передачи данных
See Also:
  • WritableRaster.setDataElements(int, int, java.lang.Object)
  • SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

createCompatibleWritableRaster

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

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

Overrides:
createCompatibleWritableRaster в классе ColorModel
Parameters:
w - ширина, применяемая к новому WritableRaster
h - высота, применяемая к новому WritableRaster
Returns:
объект WritableRaster заданной ширины и высоты.
Throws:
UnsupportedOperationException - если число бит на пиксель больше 16
See Also:
  • WritableRaster
  • SampleModel

isCompatibleRaster

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

createCompatibleSampleModel

public SampleModel createCompatibleSampleModel(int w, int h)
Создаёт SampleModel заданной ширины и высоты с макетом данных, совместимым с этим ColorModel.
Overrides:
createCompatibleSampleModel в классе ColorModel
Parameters:
w - ширина, применяемая к новому SampleModel
h - высота, применяемая к новому SampleModel
Returns:
объект SampleModel заданной ширины и высоты.
Throws:
IllegalArgumentException - если w или h не больше 0
See Also:
  • SampleModel

isCompatibleSampleModel

public boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместима ли указанная SampleModel с этим ColorModel. Если sm равна null, этот метод возвращает false.
Overrides:
isCompatibleSampleModel в классе ColorModel
Parameters:
sm - указанная SampleModel, или null
Returns:
true если указанная SampleModel совместима с этим ColorModel; false в противном случае.
See Also:
  • 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 или прозрачного пикселя.
Parameters:
raster - указанный Raster
forceARGB - если true, возвращаемое BufferedImage - TYPE_INT_ARGB; в противном случае - TYPE_INT_RGB
Returns:
BufferedImage созданный с указанным Raster
Throws:
IllegalArgumentException - если аргумент растра не совместим с этим IndexColorModel

isValid

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

isValid

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

getValidPixels

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

toString

public String toString()
Возвращает строковое представление содержимого этого объекта ColorModel.
Overrides:
toString в классе ColorModel
Returns:
строковое представление содержимого этого объекта ColorModel.

equals

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

hashCode

public int hashCode()
Возвращает код хэширования для IndexColorModel.
Overrides:
hashCode в классе ColorModel
Returns:
код хэширования для IndexColorModel
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/image/IndexColorModel.html

Spec-Zone.ru

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