Класс IndexColorModel
- Все реализованные интерфейсы:
Transparency
public class IndexColorModel extends ColorModel
IndexColorModel — это класс, работающий с пиксельными значениями, состоящими из одного образца, который является индексом в фиксированной цветовой палитре в стандартном цветовом пространстве sRGB. Цветовая палитра определяет красный, зелёный, синий и необязательный альфа-компоненты, соответствующие каждому индексу. Все компоненты представлены в цветовой палитре как 8-битные беззнаковые целочисленные значения. Некоторые конструкторы позволяют вызывающей стороне указать «дыры» в цветовой палитре, указав, какие записи цветовой палитры являются допустимыми, а какие представляют недоступные цвета, с помощью установленных битов в объекте BigInteger. Эта цветовая модель аналогична визуальному элементу X11 PseudoColor. Некоторые конструкторы предоставляют способ указать альфа-компонент для каждого пикселя в цветовой палитре, в то время как другие либо не предоставляют такого способа, либо, в некоторых случаях, флаг, указывающий, содержит ли данные цветовой палитры альфа-значения. Если альфа не предоставляется конструктору, для каждой записи предполагается непрозрачный альфа-компонент (альфа = 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. Вы можете наследовать от этого класса по другим причинам, но вы не можете переопределять или изменять поведение этих методов.
- См. также:
Краткое описание полей
Поля, объявленные в классе 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 в этом индексе не установлен.- Parameters:
-
bits- количество битов, занимаемых каждым пикселем -
size- размер массива компонентов цвета -
cmap- массив компонентов цвета -
start- начальный смещение первого компонента цвета -
transferType- указанный тип данных -
validBits- объектBigInteger. Если бит установлен в объекте BigInteger, пиксель в этом индексе считается допустимым. Если бит не установлен, пиксель в этом индексе считается недопустимым. Если null, все пиксели считаются допустимыми. Рассматриваются только биты от 0 до размера карты. - Throws:
-
IllegalArgumentException- еслиbitsменьше 1 или больше 16 -
IllegalArgumentException- еслиsizeменьше 1 -
IllegalArgumentException- еслиtransferTypeне равно одному из значенийDataBuffer.TYPE_BYTEилиDataBuffer.TYPE_USHORT - Since:
- 1.3
Подробные сведения о методах
getTransparency
public int getTransparency()
- Specified by:
-
getTransparencyв интерфейсеTransparency - Overrides:
-
getTransparencyв классеColorModel - Returns:
- значение прозрачности этого объекта
IndexColorModel - See Also:
getComponentSize
public int[] getComponentSize()
- Overrides:
-
getComponentSizeв классеColorModel - Returns:
- массив, содержащий количество битов каждого компонента цвета и альфа-канала для этого объекта
IndexColorModel
getMapSize
public final int getMapSize()
IndexColorModel.- Returns:
- размер массивов компонентов цвета и альфа-канала.
getTransparentPixel
public final int getTransparentPixel()
IndexColorModel или -1, если пиксель с значением альфа-канала 0 отсутствует. Если прозрачный пиксель был явно указан в одном из конструкторов по его индексу, то этот индекс будет предпочтительным, в противном случае может быть возвращён индекс любого пикселя, который случайно оказывается полностью прозрачным.- Returns:
- индекс прозрачного пикселя в этом объекте
IndexColorModelили -1, если такого пикселя нет
getReds
public final void getReds(byte[] r)
getMapSize.- Parameters:
-
r- указанный массив, в который копируются элементы массива компонентов красного цвета
getGreens
public final void getGreens(byte[] g)
getMapSize. - Parameters:
-
g- указанный массив, в который копируются элементы массива компонентов зелёного цвета
getBlues
public final void getBlues(byte[] b)
getMapSize. - Parameters:
-
b- указанный массив, в который копируются элементы массива компонентов синего цвета
getAlphas
public final void getAlphas(byte[] a)
getMapSize. - Parameters:
-
a- указанный массив, в который копируются элементы массива компонентов альфа-канала
getRGBs
public final void getRGBs(int[] rgb)
getMapSize. - Parameters:
-
rgb- указанный массив, в который копируются преобразованные значения ARGB из этого массива компонентов цвета и альфа-канала.
getRed
public final int getRed(int pixel)
- Specified by:
-
getRedв классеColorModel - Parameters:
-
pixel- указанный пиксель - Returns:
- значение компонента красного цвета для указанного пикселя
getGreen
public final int getGreen(int pixel)
- Specified by:
-
getGreenв классеColorModel - Parameters:
-
pixel- указанный пиксель - Returns:
- значение компонента зелёного цвета для указанного пикселя
getBlue
public final int getBlue(int pixel)
- Specified by:
-
getBlueв классеColorModel - Parameters:
-
pixel- указанный пиксель - Returns:
- значение компонента синего цвета для указанного пикселя
getAlpha
public final int getAlpha(int pixel)
- Specified by:
-
getAlphaв классеColorModel - Parameters:
-
pixel- указанный пиксель - Returns:
- значение компонента альфа для указанного пикселя
getRGB
public final int getRGB(int pixel)
- Overrides:
-
getRGBв классеColorModel - Parameters:
-
pixel- указанный пиксель - Returns:
- компоненты цвета и альфа-канала указанного пикселя
- See Also:
getDataElements
public Object getDataElements(int rgb, Object pixel)
setDataElements объекта WritableRaster. Если переменная пикселя null, создается новый массив. Если pixel не null, он должен быть примитивным массивом типа transferType; в противном случае выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если pixel недостаточно велик для хранения значения пикселя для данного ColorModel. Массив пикселей возвращается. Так как IndexColorModel может иметь подклассы, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.
- Overrides:
-
getDataElementsв классеColorModel - Parameters:
-
rgb- целое число, представляющее пиксель в стандартной цветовой модели RGB -
pixel- указанный пиксель - Returns:
- массив, представляющий указанный пиксель в этом
IndexColorModel. - Throws:
-
ClassCastException- еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиpixelнедостаточно велик для хранения значения пикселя для данногоColorModel -
UnsupportedOperationException- еслиtransferTypeневерно - See Also:
getComponents
public int[] getComponents(int pixel, int[] components, int offset)
ColorModel. Значение пикселя задаётся как целое число. Если массив components пустой, создается новый массив, содержащий offset + getNumComponents() элементов. Возвращается массив components, содержащий альфа-компонент только если hasAlpha возвращает true. Цветовые/альфа-компоненты хранятся в массиве components начиная с индекса offset, даже если массив был выделен этим методом. Выбрасывается ArrayIndexOutOfBoundsException, если массив components не пустой и недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индекса offset. - Overrides:
-
getComponentsв классеColorModel - Parameters:
-
pixel- заданный пиксель -
components- массив для хранения цветовых и альфа-компонентов указанного пикселя -
offset- смещение в массивеcomponentsдля начала хранения цветовых и альфа-компонентов - Returns:
- массив, содержащий цветовые и альфа-компоненты заданного пикселя, начиная с указанного смещения.
- See Also:
getComponents
public int[] getComponents(Object pixel, int[] components, int offset)
ColorModel. Значение пикселя задается массивом элементов данных типа transferType, переданным как ссылка на объект. Если pixel не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если pixel недостаточно велик для хранения значения пикселя для данного ColorModel. Если массив components пустой, создается новый массив, содержащий offset + getNumComponents() элементов. Возвращается массив components, содержащий альфа-компонент только если hasAlpha возвращает true. Цветовые/альфа-компоненты хранятся в массиве components начиная с индекса offset, даже если массив был выделен этим методом. Также выбрасывается ArrayIndexOutOfBoundsException, если массив components не пустой и недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индекса offset. Так как IndexColorModel может иметь подклассы, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.
- Overrides:
-
getComponentsв классеColorModel - Parameters:
-
pixel- указанный пиксель -
components- массив для хранения цветовых и альфа-компонентов указанного пикселя -
offset- индекс в массивеcomponentsдля начала хранения цветовых и альфа-компонентов указанного пикселя - Returns:
- массив, содержащий цветовые и альфа-компоненты заданного пикселя, начиная с указанного индекса.
- Throws:
-
ArrayIndexOutOfBoundsException- еслиpixelнедостаточно велик для хранения значения пикселя для данногоColorModelили если массивcomponentsне пустой и недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индексаoffset -
ClassCastException- еслиpixelне является примитивным массивом типаtransferType -
UnsupportedOperationException- еслиtransferTypeне является одним из поддерживаемых типов передачи данных - See Also:
getDataElement
public int getDataElement(int[] components, int offset)
ColorModel, на основе массива ненормализованных цветовых/альфа-компонентов. Выбрасывается ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индекса offset. Так как ColorModel может иметь подклассы, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый тип передачи данных.- Overrides:
-
getDataElementв классеColorModel - Parameters:
-
components- массив ненормализованных цветовых и альфа-компонентов -
offset- индекс в массивеcomponentsдля начала извлечения цветовых и альфа-компонентов - Returns:
- значение пикселя в этом
ColorModelсоответствующее заданным компонентам. - Throws:
-
ArrayIndexOutOfBoundsException- если массивcomponentsнедостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индексаoffset -
UnsupportedOperationException- еслиtransferTypeневерно
getDataElements
public Object getDataElements(int[] components, int offset, Object pixel)
ColorModel, на основе массива ненормализованных цветовых/альфа-компонентов. Этот массив можно передать методу setDataElements объекта WritableRaster. Выбрасывается ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индекса offset. Если переменная пикселя null, выделяется новый массив. Если pixel не null, он должен быть примитивным массивом типа transferType; в противном случае выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если массив пикселей недостаточно велик для хранения значения пикселя для данного ColorModel. Так как IndexColorModel может иметь подклассы, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый тип передачи данных.
- Overrides:
-
getDataElementsв классеColorModel - Parameters:
-
components- массив ненормализованных цветовых и альфа-компонентов -
offset- индекс в массивеcomponentsдля начала извлечения цветовых и альфа-компонентов -
pixel- массив, представляющий данные цветовых и альфа-компонентов - Returns:
- массив, представляющий данные цветовых и альфа-компонентов.
- Throws:
-
ClassCastException- еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиpixelнедостаточно велик для хранения значения пикселя для данногоColorModelили если массивcomponentsнедостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индексаoffset -
UnsupportedOperationException- еслиtransferTypeне является одним из поддерживаемых типов передачи данных - See Also:
createCompatibleWritableRaster
public WritableRaster createCompatibleWritableRaster(int w, int h)
WritableRaster заданной ширины и высоты с макетом данных (SampleModel) совместимым с этим ColorModel. Этот метод работает только для цветовых моделей с 16 или менее битами на пиксель. Поскольку IndexColorModel может быть подклассом, любой подкласс, поддерживающий более 16 бит на пиксель, должен переопределить этот метод.
- Overrides:
-
createCompatibleWritableRasterв классеColorModel - Parameters:
-
w- ширина, применяемая к новомуWritableRaster -
h- высота, применяемая к новомуWritableRaster - Returns:
- объект
WritableRasterзаданной ширины и высоты. - Throws:
-
UnsupportedOperationException- если число бит на пиксель больше 16 - See Also:
isCompatibleRaster
public boolean isCompatibleRaster(Raster raster)
true если raster совместим с этим ColorModel или false если не совместим с этим ColorModel. - Overrides:
-
isCompatibleRasterв классеColorModel - Parameters:
-
raster- объектRasterдля проверки совместимости - Returns:
-
trueеслиrasterсовместим с этимColorModel;falseв противном случае.
createCompatibleSampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
SampleModel заданной ширины и высоты с макетом данных, совместимым с этим ColorModel. - Overrides:
-
createCompatibleSampleModelв классеColorModel - Parameters:
-
w- ширина, применяемая к новомуSampleModel -
h- высота, применяемая к новомуSampleModel - Returns:
- объект
SampleModelзаданной ширины и высоты. - Throws:
-
IllegalArgumentException- еслиwилиhне больше 0 - See Also:
isCompatibleSampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel с этим ColorModel. Если sm равна null, этот метод возвращает false. - Overrides:
-
isCompatibleSampleModelв классеColorModel - Parameters:
-
sm- указаннаяSampleModel, илиnull - Returns:
-
trueесли указаннаяSampleModelсовместима с этимColorModel;falseв противном случае. - See Also:
convertToIntDiscrete
public BufferedImage convertToIntDiscrete(Raster raster, boolean forceARGB)
BufferedImage типа TYPE_INT_ARGB или TYPE_INT_RGB, который имеет Raster с данными пикселей, вычисленными путём расширения индексов в исходном Raster с использованием массивов цветовых/альфа-компонентов этого ColorModel. Используются только младшие n биты каждого значения индекса в исходном Raster, как указано в описании класса выше, для вычисления цветовых/альфа-значений в возвращаемом изображении. Если forceARGB равна true, возвращается изображение TYPE_INT_ARGB, независимо от наличия массива альфа-компонентов у этого ColorModel или прозрачного пикселя.- Parameters:
-
raster- указанныйRaster -
forceARGB- еслиtrue, возвращаемоеBufferedImage- TYPE_INT_ARGB; в противном случае - TYPE_INT_RGB - Returns:
BufferedImageсозданный с указаннымRaster- Throws:
-
IllegalArgumentException- если аргумент растра не совместим с этим IndexColorModel
isValid
public boolean isValid(int pixel)
- Parameters:
-
pixel- указанное значение пикселя - Returns:
-
trueеслиpixelдопустим;falseв противном случае. - Since:
- 1.3
isValid
public boolean isValid()
- Returns:
-
trueесли все пиксели допустимы;falseв противном случае. - Since:
- 1.3
getValidPixels
public BigInteger getValidPixels()
BigInteger , который указывает на допустимые/недопустимые пиксели в палитре. Бит является допустимым, если значение BigInteger в этом индексе установлено, и недопустимым, если значение BigInteger в этом индексе не установлено. Единственные допустимые диапазоны для запроса в BigInteger находятся между 0 и размером карты.- Returns:
BigInteger, указывающее на допустимые/недопустимые пиксели.- Since:
- 1.3
toString
public String toString()
ColorModel.- Overrides:
-
toStringв классеColorModel - Returns:
- строковое представление содержимого этого объекта
ColorModel.
equals
public boolean equals(Object obj)
Object экземпляром IndexColorModel и равен ли он этому IndexColorModel.
- Overrides:
-
equalsв классеColorModel - Parameters:
-
obj-Objectдля проверки на равенство - Returns:
-
trueесли указанныйObjectравен этомуIndexColorModel;falseв противном случае. - See Also:
hashCode
public int hashCode()
- Overrides:
-
hashCodeв классеColorModel - Returns:
- код хэширования для IndexColorModel
- See Also:
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/java/awt/image/IndexColorModel.html