Spec-Zone.ru › OpenJDK 24

Класс IndexColorModel

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

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

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

Если у объекта IndexColorModel значение прозрачности равно Transparency.OPAQUE, то методы isAlphaPremultiplied и getTransparency (оба унаследованы от ColorModel) возвращают false и 3 соответственно. Для любого другого значения прозрачности, метод isAlphaPremultiplied возвращает true, а метод getTransparency — 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 в этом индексе не установлен.
Параметры:
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, если такого пикселя нет. Если прозрачный пиксель был явно указан в одном из конструкторов по его индексу, то этот индекс будет предпочтительнее; в противном случае может быть возвращён индекс любого пикселя, который случайно полностью прозрачен.
Возвращает:
индекс прозрачного пикселя в данном объекте 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)
Преобразует данные для каждого индекса из массивов цветовых и альфа-компонентов в целое число в формате цветовой модели RGB по умолчанию и копирует полученные 32-битные значения ARGB в указанный массив. Копируются только начальные элементы массива, как указано в getMapSize.
Параметры:
rgb - указанный массив, в который копируются преобразованные значения ARGB из этого массива цветовых и альфа-компонентов.

getRed

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

getGreen

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

getBlue

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

getAlpha

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

getRGB

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

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
Параметры:
rgb - целочисленное представление пикселя в стандартной цветовой модели RGB
pixel - заданный пиксель
Возвращает:
массив, представляющий заданный пиксель в этом IndexColorModel.
Исключения:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для этого ColorModel
UnsupportedOperationException - если transferType недействителен
См. также:
  • 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 равен null, выделяется новый массив, содержащий offset + getNumComponents() элементов. Возвращается массив components, содержащий альфа-компонент только если hasAlpha возвращает true. Цветовые/альфа-компоненты хранятся в массиве components, начиная с offset, даже если массив выделяется этим методом. Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив components не null и недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset.
Overrides:
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. Бросается исключение ArrayIndexOutOfBoundsException, если pixel недостаточно велик для хранения значения пикселя для этого ColorModel. Если массив components равен null, выделяется новый массив, содержащий offset + getNumComponents() элементов. Возвращается массив components, содержащий альфа-компонент только если hasAlpha возвращает true. Цветовые/альфа-компоненты хранятся в массиве components, начиная с offset, даже если массив выделяется этим методом. Бросается исключение ArrayIndexOutOfBoundsException также, если массив components не null и недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset.

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

Overrides:
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)
Возвращает значение пикселя, представленное как целое число в этом ColorModel, заданное массивом ненормализованных цветовых/альфа-компонентов. Бросается исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset. Поскольку ColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, они выбрасывают исключение, если используют неподдерживаемый transferType.
Overrides:
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

Overrides:
getDataElements в классе ColorModel
Параметры:
components - массив ненормализованных цветовых и альфа-компонентов
offset - индекс в components, с которого начинать извлечение цветовых и альфа-компонентов
pixel - Object, представляющий массив цветовых и альфа-компонентов
Возвращает:
Object, представляющий массив цветовых и альфа-компонентов.
Исключения:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для этого ColorModel или массив components недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset
UnsupportedOperationException - если transferType не является одним из поддерживаемых типов передачи
См. также:
  • 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
Параметры:
w - ширина, применяемая к новому WritableRaster
h - высота, применяемая к новому WritableRaster
Возвращает:
объект WritableRaster с указанной шириной и высотой.
Исключения:
UnsupportedOperationException - если количество битов в пикселе больше 16
См. также:
  • WritableRaster
  • SampleModel

isCompatibleRaster

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

createCompatibleSampleModel

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

isCompatibleSampleModel

public boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместим ли указанный SampleModel с этим ColorModel. Если sm равен null, этот метод возвращает false.
Overrides:
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 - если аргумент растра не совместим с этим 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()
Возвращает строковое представление содержимого этого объекта ColorModel.
Overrides:
toString в классе ColorModel
Возвращает:
строковое представление содержимого этого объекта ColorModel.

equals

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

hashCode

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

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/image/IndexColorModel.html

Spec-Zone.ru

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