Spec-Zone.ru › OpenJDK 25

Класс 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

Поля, объявленные в интерфейсе 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 из массива значений 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

Методы, объявленные в классе 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, если нет пикселя со значением альфа-канала 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. Значение пикселя задается как целое число. Для вычисления возвращаемого значения используются только младшие 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()

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. Значение пикселя задается как целое число. Если массив 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, даже если массив выделяется этим методом. Также выбрасывается ArrayIndexOutOfBoundsException, если массив components не равен null и недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала начиная с позиции offset.

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

Поскольку 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/image/IndexColorModel.html

Spec-Zone.ru

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