Класс IndexColorModel
- Все реализованные интерфейсы:
Transparency
public class IndexColorModel extends ColorModel
Некоторые конструкторы предоставляют способ указать альфа-компонент для каждого пикселя в цветовой карте, тогда как другие либо не предоставляют такой возможности, либо в некоторых случаях предоставляют флаг, указывающий, содержит ли данные цветовой карты значения альфа. Если альфа-компонент не указан при создании объекта, предполагается непрозрачный альфа-компонент (альфа = 1.0) для каждой записи. Можно указать необязательное значение прозрачного пикселя, которое указывает на то, что пиксель должен быть полностью прозрачным, независимо от указанных или предполагаемых альфа-компонентов для данного пиксельного значения. Обратите внимание, что цветовые компоненты в цветовой карте объектов IndexColorModel никогда не предварительно умножаются на альфа-компоненты.
Если у объекта IndexColorModel значение прозрачности равно Transparency.OPAQUE, то методы isAlphaPremultiplied и getTransparency (оба унаследованы от ColorModel) возвращают false и 3 соответственно. Для любого другого значения прозрачности, метод isAlphaPremultiplied возвращает true, а метод getTransparency — 4.
Для тех методов, которые используют массив пикселей типа transferType, длина массива всегда равна одному. Поддерживаемые типы преобразования — DataBuffer.TYPE_BYTE и DataBuffer.TYPE_USHORT. Одно целое значение (int) является допустимым для всех объектов этого класса, поскольку всегда возможно представить пиксельные значения, используемые с этим классом, в одном целом числе (int). Поэтому методы, использующие это представление, не выбрасывают IllegalArgumentException из-за недопустимого пиксельного значения.
Многие методы в этом классе являются final. Причина в том, что базовый родной код графики делает предположения о структуре и работе этого класса, и эти предположения отражаются в реализациях методов в этом классе, помеченных как final. Вы можете наследовать от этого класса по другим причинам, но вы не можете переопределять или изменять поведение этих методов.
- См. также:
Краткое описание полей
Поля, объявленные в классе java.awt.image.ColorModel
pixel_bits, transferType
Поля, объявленные в интерфейсе java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
IndexColorModel |
Создаёт IndexColorModel из указанных массивов красных, зелёных и синих компонентов. |
IndexColorModel |
Создаёт IndexColorModel из заданных массивов красных, зелёных, синих и альфа-компонентов. |
IndexColorModel |
Создаёт IndexColorModel из заданных массивов красных, зелёных и синих компонентов. |
IndexColorModel |
Создаёт IndexColorModel из одного массива переплетённых красных, зелёных, синих и необязательных альфа-компонентов. |
IndexColorModel |
Создаёт IndexColorModel из одного массива переплетённых красных, зелёных, синих и необязательных альфа-компонентов. |
IndexColorModel |
Создаёт IndexColorModel из массива целых чисел, где каждое целое число состоит из красных, зелёных, синих и необязательных альфа-компонентов в формате цветовой модели 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 |
Возвращает значение пикселя, представленное как целое число в этом ColorModel, заданное массивом ненормализованных цветовых/альфа-компонентов. |
Object |
getDataElements |
Возвращает массив элементов данных, представляющий пиксель в этом ColorModel, заданный массивом ненормализованных цветовых/альфа-компонентов. |
Object |
getDataElements |
Возвращает массив элементов данных, представляющий пиксель в этой цветовой модели, заданный целым представлением пикселя в цветовой модели 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 |
Преобразует данные для каждого индекса из массивов цветовых и альфа-компонентов в целое число в формате цветовой модели 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. |
Методы, объявленные в классе 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
Подробное описание конструкторов
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, если такого пикселя нет. Если прозрачный пиксель был явно указан в одном из конструкторов по его индексу, то этот индекс будет предпочтительнее; в противном случае может быть возвращён индекс любого пикселя, который случайно полностью прозрачен.- Возвращает:
- индекс прозрачного пикселя в данном объекте
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. Бросается исключение ArrayIndexOutOfBoundsException, если pixel недостаточно велик для хранения значения пикселя для этого ColorModel. Возвращается массив пикселей. Поскольку IndexColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, они выбрасывают исключение, если используют неподдерживаемый transferType.
- Overrides:
-
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, даже если массив выделяется этим методом. Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив components не null и недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset.- Overrides:
-
getComponentsв классеColorModel - Параметры:
-
pixel- заданный пиксель -
components- массив для хранения цветовых и альфа-компонентов заданного пикселя -
offset- смещение в массивеcomponents, с которого начинать хранение цветовых и альфа-компонентов - Возвращает:
- массив, содержащий цветовые и альфа-компоненты заданного пикселя, начиная с заданного смещения.
- См. также:
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не является одним из поддерживаемых типов передачи - См. также:
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не является одним из поддерживаемых типов передачи - См. также:
createCompatibleWritableRaster
public WritableRaster createCompatibleWritableRaster(int w, int h)
WritableRaster с указанной шириной и высотой, имеющую структуру данных (SampleModel), совместимую с этой ColorModel. Этот метод работает только для цветовых моделей с 16 или менее битами на пиксель. Поскольку IndexColorModel может быть подклассом, любой подкласс, поддерживающий более 16 бит на пиксель, должен переопределить этот метод.
- Overrides:
-
createCompatibleWritableRasterв классеColorModel - Параметры:
-
w- ширина, применяемая к новомуWritableRaster -
h- высота, применяемая к новомуWritableRaster - Возвращает:
- объект
WritableRasterс указанной шириной и высотой. - Исключения:
-
UnsupportedOperationException- если количество битов в пикселе больше 16 - См. также:
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 - См. также:
isCompatibleSampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel с этим ColorModel. Если sm равен null, этот метод возвращает false.- Overrides:
-
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- если аргумент растра не совместим с этим 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в противном случае. - См. также:
hashCode
public int hashCode()
- Overrides:
-
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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/image/IndexColorModel.html