Класс IndexColorModel
- Все реализованные интерфейсы:
Transparency
public class IndexColorModel extends ColorModel
IndexColorModel является классом ColorModel, который работает со значениями пикселей, состоящими из одного отсчёта — индекса в фиксированной карте цветов в цветовом пространстве sRGB по умолчанию. Карта цветов задаёт компоненты красного, зелёного, синего и, при необходимости, альфа-канала для каждого индекса. Все компоненты представлены в карте цветов в виде 8-битных беззнаковых целых значений. Некоторые конструкторы позволяют вызывающему коду задавать «пробелы» в карте цветов, указывая, какие записи карты цветов являются допустимыми, а какие представляют неиспользуемые цвета, с помощью битов, установленных в объекте BigInteger. Эта цветовая модель похожа на визуальный класс PseudoColor в X11. Некоторые конструкторы позволяют задать компонент альфа-канала для каждого пикселя в карте цветов, тогда как другие такой возможности не предоставляют или, в некоторых случаях, позволяют указать флаг, определяющий, содержит ли карта цветов значения альфа-канала. Если конструктору не передано значение альфа-канала, для каждой записи предполагается непрозрачный компонент альфа-канала (alpha = 1.0). Можно указать необязательное значение прозрачного пикселя, обозначающее пиксель, который должен стать полностью прозрачным независимо от компонента альфа-канала, заданного или предполагаемого для этого значения пикселя. Обратите внимание, что цветовые компоненты карты цветов объектов IndexColorModel никогда не предварительно умножаются на компоненты альфа-канала.
Если объект IndexColorModel имеет значение прозрачности Transparency.OPAQUE, методы hasAlpha и getNumComponents (оба унаследованы от ColorModel) возвращают соответственно false и 3. Для любого другого значения прозрачности метод hasAlpha возвращает true, а getNumComponents — 4.
Для методов, использующих представление пикселя в примитивном массиве типа transferType, длина массива всегда равна единице. Поддерживаются типы передачи DataBuffer.TYPE_BYTE и DataBuffer.TYPE_USHORT. Представление пикселя в виде одного значения int допустимо для всех объектов этого класса, поскольку значения пикселей, используемые с этим классом, всегда можно представить одним значением int. Поэтому методы, использующие это представление, не выбрасывают IllegalArgumentException из-за недопустимого значения пикселя.
Многие методы этого класса являются final. Это обусловлено тем, что базовый графический код на машинном уровне делает предположения о структуре и работе этого класса, и эти предположения отражены в реализациях методов, помеченных здесь как final. Вы можете создавать подклассы этого класса по другим причинам, но не можете переопределять или изменять поведение этих методов.
- См. также:
Краткое описание полей
Поля, объявленные в классе ColorModel
pixel_bits, transferType
Поля, объявленные в интерфейсе Transparency
BITMASK, OPAQUE, TRANSLUCENT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
IndexColorModel |
Создаёт IndexColorModel из указанных массивов компонентов красного, зелёного и синего цветов. |
IndexColorModel |
Создаёт IndexColorModel из заданных массивов компонентов красного, зелёного, синего цветов и альфа-канала. |
IndexColorModel |
Создаёт IndexColorModel из заданных массивов компонентов красного, зелёного и синего цветов. |
IndexColorModel |
Создаёт IndexColorModel из одного массива чередующихся компонентов красного, зелёного, синего цветов и, при необходимости, альфа-канала. |
IndexColorModel |
Создаёт IndexColorModel из одного массива чередующихся компонентов красного, зелёного, синего цветов и, при необходимости, альфа-канала. |
IndexColorModel |
Создаёт IndexColorModel из массива значений int, каждое из которых содержит компоненты красного, зелёного, синего цветов и, при необходимости, альфа-канала в формате цветовой модели RGB по умолчанию. |
IndexColorModel |
Создаёт IndexColorModel из массива int, где каждый элемент int содержит компоненты красного, зелёного, синего цветов и альфа-канала в формате цветовой модели RGB по умолчанию. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
BufferedImage |
convertToIntDiscrete |
Возвращает новый BufferedImage типа TYPE_INT_ARGB или TYPE_INT_RGB с Raster, пиксельные данные которого вычислены путём преобразования индексов исходного Raster с использованием массивов цветовых компонентов и компонентов альфа-канала этого ColorModel. |
SampleModel |
createCompatibleSampleModel |
Создаёт SampleModel с указанными шириной и высотой, структура данных которого совместима с этим ColorModel. |
WritableRaster |
createCompatibleWritableRaster |
Создаёт WritableRaster с указанными шириной и высотой, структура данных (SampleModel) которого совместима с этим ColorModel. |
boolean |
equals |
Проверяет, является ли указанный Object экземпляром IndexColorModel и равен ли он этому IndexColorModel
|
final int |
getAlpha |
Возвращает компонент альфа-канала указанного пикселя в диапазоне от 0 до 255. |
final void |
getAlphas |
Копирует массив компонентов прозрачности альфа-канала в указанный массив. |
final int |
getBlue |
Возвращает компонент синего цвета указанного пикселя в диапазоне от 0 до 255 в цветовом пространстве RGB по умолчанию, sRGB. |
final void |
getBlues |
Копирует массив компонентов синего цвета в указанный массив. |
int[] |
getComponents |
Возвращает массив ненормализованных цветовых компонентов и компонентов альфа-канала для указанного пикселя в этом ColorModel. |
int[] |
getComponents |
Возвращает массив ненормализованных цветовых компонентов и компонентов альфа-канала для указанного пикселя в этом ColorModel. |
int[] |
getComponentSize() |
Возвращает массив с количеством битов для каждого цветового компонента и компонента альфа-канала. |
int |
getDataElement |
Возвращает значение пикселя, представленное типом int, в этом ColorModel на основе массива ненормализованных цветовых компонентов и компонентов альфа-канала. |
Object |
getDataElements |
Возвращает представление пикселя в виде массива элементов данных в этом ColorModel на основе массива ненормализованных цветовых компонентов и компонентов альфа-канала. |
Object |
getDataElements |
Возвращает представление пикселя в виде массива элементов данных в этой ColorModel на основе целочисленного представления пикселя в цветовой модели RGB по умолчанию. |
final int |
getGreen |
Возвращает компонент зелёного цвета указанного пикселя в диапазоне от 0 до 255 в цветовом пространстве RGB по умолчанию, sRGB. |
final void |
getGreens |
Копирует массив компонентов зелёного цвета в указанный массив. |
final int |
getMapSize() |
Возвращает размер массивов цветовых компонентов и компонентов альфа-канала в этом IndexColorModel. |
final int |
getRed |
Возвращает компонент красного цвета указанного пикселя в диапазоне от 0 до 255 в цветовом пространстве RGB по умолчанию, sRGB. |
final void |
getReds |
Копирует массив компонентов красного цвета в указанный массив. |
final int |
getRGB |
Возвращает цветовые компоненты и компоненты альфа-канала пикселя в формате цветовой модели RGB по умолчанию. |
final void |
getRGBs |
Преобразует данные для каждого индекса из массивов цветовых компонентов и компонентов альфа-канала в значение int в формате ColorModel RGB по умолчанию и копирует полученные 32-битные значения ARGB в указанный массив. |
int |
getTransparency() |
Возвращает значение прозрачности. |
final int |
getTransparentPixel() |
Возвращает индекс прозрачного пикселя в этом IndexColorModel или -1, если нет пикселя со значением альфа-канала 0. |
BigInteger |
getValidPixels() |
Возвращает BigInteger, указывающий допустимые и недопустимые пиксели в карте цветов. |
int |
hashCode() |
Возвращает хеш-код IndexColorModel. |
boolean |
isCompatibleRaster |
Возвращает true, если raster совместим с этим ColorModel, или false, если он несовместим с этим ColorModel. |
boolean |
isCompatibleSampleModel |
Проверяет, совместим ли указанный SampleModel с этим ColorModel. |
boolean |
isValid() |
Возвращает, являются ли все пиксели допустимыми. |
boolean |
isValid |
Возвращает, является ли пиксель допустимым. |
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
Подробное описание конструкторов
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()
- Определено в:
-
getTransparencyв интерфейсеTransparency - Переопределяет:
-
getTransparencyв классеColorModel - Возвращает:
- значение прозрачности этого объекта
IndexColorModel - См. также:
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)
getMapSize.- Параметры:
-
rgb— указанный массив, в который копируются преобразованные значения ARGB из этого массива компонентов цвета и альфа-канала.
getRed
public final int getRed(int pixel)
- Определено в:
-
getRedв классеColorModel - Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение компонента красного цвета для указанного пикселя
getGreen
public final int getGreen(int pixel)
- Определено в:
-
getGreenв классеColorModel - Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение компонента зеленого цвета для указанного пикселя
getBlue
public final int getBlue(int pixel)
- Определено в:
-
getBlueв классеColorModel - Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение компонента синего цвета для указанного пикселя
getAlpha
public final int getAlpha(int pixel)
- Определено в:
-
getAlphaв классеColorModel - Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение компонента альфа-канала для указанного пикселя
getRGB
public final int getRGB(int pixel)
- Переопределяет:
-
getRGBв классеColorModel - Параметры:
-
pixel— указанный пиксель - Возвращает:
- компоненты цвета и альфа-канала указанного пикселя
- См. также:
getDataElements
public Object getDataElements(int rgb, Object pixel)
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недопустим - См. также:
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, с которого начинается сохранение компонентов цвета и альфа-канала - Возвращает:
- массив, содержащий компоненты цвета и альфа-канала указанного пикселя, начиная с заданного смещения.
- См. также:
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не относится к одному из поддерживаемых типов передачи - См. также:
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не относится к поддерживаемым типам передачи данных - См. также:
createCompatibleWritableRaster
public WritableRaster createCompatibleWritableRaster(int w, int h)
WritableRaster с указанными шириной и высотой и структурой данных (SampleModel), совместимой с этим ColorModel. Этот метод работает только для цветовых моделей с 16 или менее битами на пиксель. Поскольку IndexColorModel может быть унаследован, любой подкласс, поддерживающий более 16 бит на пиксель, должен переопределить этот метод.
- Переопределяет:
-
createCompatibleWritableRasterв классеColorModel - Параметры:
-
w- ширина новогоWritableRaster -
h- высота новогоWritableRaster - Возвращает:
- объект
WritableRasterс указанными шириной и высотой. - Исключения:
-
UnsupportedOperationException- если количество битов на пиксель превышает 16 - См. также:
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 - См. также:
isCompatibleSampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel с этим ColorModel. Если sm равен null, этот метод возвращает false.- Переопределяет:
-
isCompatibleSampleModelв классеColorModel - Параметры:
-
sm- указаннаяSampleModelилиnull - Возвращает:
-
true, если указаннаяSampleModelсовместима с этимColorModel; в противном случае —false. - См. также:
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. - См. также:
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв классеColorModel - Возвращает:
- хеш-код для IndexColorModel
- См. также:
© 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