Класс IndexColorModel
- java.lang.Object
-
- java.awt.image.ColorModel
-
- java.awt.image.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. Вы можете наследовать от этого класса по другим причинам, но вы не можете переопределять или изменять поведение этих методов.
- См. также:
-
ColorModel,ColorSpace,DataBuffer
Поля
Поля, унаследованные от класса java.awt.image.ColorModel
pixel_bits, transferType Поля, унаследованные от интерфейса java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT Конструкторы
| Конструктор и описание |
|---|
IndexColorModel(int bits,
int size,
byte[] r,
byte[] g,
byte[] b) Создаёт |
IndexColorModel(int bits,
int size,
byte[] r,
byte[] g,
byte[] b,
byte[] a) Создаёт |
IndexColorModel(int bits,
int size,
byte[] r,
byte[] g,
byte[] b,
int trans) Создаёт |
IndexColorModel(int bits,
int size,
byte[] cmap,
int start,
boolean hasalpha) Создаёт |
IndexColorModel(int bits,
int size,
byte[] cmap,
int start,
boolean hasalpha,
int trans) Создаёт |
IndexColorModel(int bits,
int size,
int[] cmap,
int start,
boolean hasalpha,
int trans,
int transferType) Создаёт |
IndexColorModel(int bits,
int size,
int[] cmap,
int start,
int transferType,
BigInteger validBits) Создаёт |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
BufferedImage |
convertToIntDiscrete(Raster raster,
boolean forceARGB) Возвращает новый |
SampleModel |
createCompatibleSampleModel(int w,
int h) Создаёт |
WritableRaster |
createCompatibleWritableRaster(int w,
int h) Создаёт |
void |
finalize() Освобождает системные ресурсы, связанные с этим |
int |
getAlpha(int pixel) Возвращает компонент альфа для указанного пикселя, масштабированный от 0 до 255. |
void |
getAlphas(byte[] a) Копирует массив компонентов альфа-прозрачности в указанный массив. |
int |
getBlue(int pixel) Возвращает синий цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. |
void |
getBlues(byte[] b) Копирует массив синих цветовых компонентов в указанный массив. |
int[] |
getComponents(int pixel,
int[] components,
int offset) Возвращает массив ненормализованных цветовых/альфа-компонентов для указанного пикселя в этом |
int[] |
getComponents(Object pixel,
int[] components,
int offset) Возвращает массив ненормализованных цветовых/альфа-компонентов для указанного пикселя в этом |
int[] |
getComponentSize() Возвращает массив количества бит для каждого цветового/альфа-компонента. |
int |
getDataElement(int[] components,
int offset) Возвращает значение пикселя, представленное целым числом в этом |
Object |
getDataElements(int[] components,
int offset,
Object pixel) Возвращает массив элементов данных представления пикселя в этом |
Object |
getDataElements(int rgb,
Object pixel) Возвращает массив элементов данных представления пикселя в этом ColorModel, заданным целочисленным представлением пикселя в стандартной цветовой модели RGB. |
int |
getGreen(int pixel) Возвращает зелёный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. |
void |
getGreens(byte[] g) Копирует массив зелёных цветовых компонентов в указанный массив. |
int |
getMapSize() Возвращает размер массивов цветовых/альфа-компонентов в этом |
int |
getRed(int pixel) Возвращает красный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. |
void |
getReds(byte[] r) Копирует массив красных цветовых компонентов в указанный массив. |
int |
getRGB(int pixel) Возвращает цветовые/альфа-компоненты пикселя в формате стандартной цветовой модели RGB. |
void |
getRGBs(int[] rgb) Преобразует данные для каждого индекса из массивов цветовых и альфа-компонентов в целое число в формате стандартной цветовой модели RGB и копирует полученные 32-битные значения ARGB в указанный массив. |
int |
getTransparency() Возвращает прозрачность. |
int |
getTransparentPixel() Возвращает индекс прозрачного пикселя в этом |
BigInteger |
getValidPixels() Возвращает |
boolean |
isCompatibleRaster(Raster raster) Возвращает |
boolean |
isCompatibleSampleModel(SampleModel sm) Проверяет, совместим ли указанный |
boolean |
isValid() Возвращает, являются ли все пиксели допустимыми. |
boolean |
isValid(int pixel) Возвращает, является ли пиксель допустимым. |
String |
toString() Возвращает строковое представление содержимого этого объекта |
Методы, унаследованные от класса java.awt.image.ColorModel
coerceData, equals, getAlpha, getAlphaRaster, getBlue, getColorSpace, getComponentSize, getDataElement, getDataElements, getGreen, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRed, getRGB, getRGBdefault, getTransferType, getUnnormalizedComponents, hasAlpha, hashCode, isAlphaPremultiplied Методы, унаследованные от класса java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait Конструкторы
IndexColorModel
public IndexColorModel(int bits,
int size,
byte[] r,
byte[] g,
byte[] b) Создаёт IndexColorModel из указанных массивов красных, зелёных и синих компонентов. Пиксели, описываемые этой цветовой моделью, имеют альфа-компоненты 255 (ненормированные) (1,0 нормированные), что означает, что они полностью непрозрачны. Все массивы, указывающие цветовые компоненты, должны иметь как минимум указанное количество записей. ColorSpace — это пространство по умолчанию sRGB. Поскольку в аргументах этого конструктора нет информации об альфа-канале, значение прозрачности всегда Transparency.OPAQUE. Тип передачи — наименьший из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT, который может хранить один пиксель.
- Параметры:
-
bits— количество бит, которые занимает каждый пиксель -
size— размер массивов цветовых компонентов -
r— массив красных цветовых компонентов -
g— массив зелёных цветовых компонентов -
b— массив синих цветовых компонентов - Исключения:
-
IllegalArgumentException— еслиbitsменьше 1 или больше 16 -
IllegalArgumentException— еслиsizeменьше 1
IndexColorModel
public IndexColorModel(int bits,
int size,
byte[] r,
byte[] g,
byte[] b,
int trans) Создаёт IndexColorModel из заданных массивов красных, зелёных и синих компонентов. Пиксели, описываемые этой цветовой моделью, имеют альфа-компоненты 255 (ненормированные) (1,0 нормированные), что означает, что они полностью непрозрачны, за исключением указанного пикселя, который будет сделан прозрачным. Все массивы, указывающие цветовые компоненты, должны иметь как минимум указанное количество записей. ColorSpace — это пространство по умолчанию sRGB. Значение прозрачности может быть Transparency.OPAQUE или Transparency.BITMASK в зависимости от аргументов, как указано в описании класса выше class description. Тип передачи — наименьший из 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 в зависимости от аргументов, как указано в описании класса выше class description. Тип передачи — наименьший из 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 в зависимости от аргументов, как указано в описании класса выше class description. Тип передачи — наименьший из 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 в зависимости от аргументов, как указано в описании класса выше class description. Тип передачи — наименьший из 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 в зависимости от аргументов, как указано в описании класса выше class description.
- Параметры:
-
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 в зависимости от аргументов, как указано в описании класса выше class description. Тип передачи должен быть одним из DataBuffer.TYPE_BYTE DataBuffer.TYPE_USHORT. Объект BigInteger указывает допустимые/недопустимые пиксели в массиве cmap. Пиксель допустим, если значение BigInteger с этим индексом установлено, и недопустим, если бит BigInteger с этим индексом не установлен.
- Параметры:
-
bits— количество бит, которые занимает каждый пиксель -
size— размер массива цветовых компонентов -
cmap— массив цветовых компонентов -
start— начальный смещение первого цветового компонента -
transferType— указанный тип данных -
validBits— объектBigInteger. Если бит установлен в BigInteger, пиксель с этим индексом допустим. Если бит не установлен, пиксель с этим индексом считается недопустимым. Если null, все пиксели допустимы. Рассматриваются только биты от 0 до размера карты. - Исключения:
-
IllegalArgumentException— еслиbitsменьше 1 или больше 16 -
IllegalArgumentException— еслиsizeменьше 1 -
IllegalArgumentException— еслиtransferTypeне является одним изDataBuffer.TYPE_BYTEилиDataBuffer.TYPE_USHORT - С версии:
- 1.3
Методы
getTransparency
public int getTransparency()
Возвращает прозрачность. Возвращает OPAQUE, BITMASK или TRANSLUCENT
- Указано:
-
getTransparencyв интерфейсеTransparency - Переопределяет:
-
getTransparencyв классеColorModel - Возвращает:
- прозрачность этого
IndexColorModel - См. также:
-
Transparency.OPAQUE,Transparency.BITMASK,Transparency.TRANSLUCENT
getComponentSize
public int[] getComponentSize()
Возвращает массив количества бит для каждого цветового/альфа-компонента. Массив содержит цветовые компоненты в порядке красный, зелёный, синий, а затем альфа-компонент, если он присутствует.
- Переопределяет:
-
getComponentSizeв классеColorModel - Возвращает:
- массив, содержащий количество бит каждого цветового и альфа-компонента этого
IndexColorModel
getMapSize
public final int getMapSize()
Возвращает размер массивов цветовых/альфа-компонентов в этом IndexColorModel.
- Возвращает:
- размер массивов цветовых и альфа-компонентов.
getTransparentPixel
public final int getTransparentPixel()
Возвращает индекс прозрачного пикселя в этом IndexColorModel или -1, если нет пикселя с альфа-значением 0. Если прозрачный пиксель был явно задан в одном из конструкторов по его индексу, то этот индекс будет предпочтительным, в противном случае может быть возвращён индекс любого пикселя, который случайно полностью прозрачен.
- Возвращает:
- индекс прозрачного пикселя в этом объекте
IndexColorModel, или -1, если такого пикселя нет
getReds
public final void getReds(byte[] r)
Копирует массив красных цветовых компонентов в указанный массив. Записываются только начальные элементы массива, как указано в getMapSize.
- Параметры:
-
r- указанный массив, в который копируются элементы массива красных цветовых компонентов
getGreens
public final void getGreens(byte[] g)
Копирует массив зелёных цветовых компонентов в указанный массив. Записываются только начальные элементы массива, как указано в getMapSize.
- Параметры:
-
g- указанный массив, в который копируются элементы массива зелёных цветовых компонентов
getBlues
public final void getBlues(byte[] b)
Копирует массив синих цветовых компонентов в указанный массив. Записываются только начальные элементы массива, как указано в getMapSize.
- Параметры:
-
b- указанный массив, в который копируются элементы массива синих цветовых компонентов
getAlphas
public final void getAlphas(byte[] a)
Копирует массив альфа-компонентов прозрачности в указанный массив. Записываются только начальные элементы массива, как указано в getMapSize.
- Параметры:
-
a- указанный массив, в который копируются элементы массива альфа-компонентов
getRGBs
public final void getRGBs(int[] rgb)
Преобразует данные для каждого индекса из массивов цветовых и альфа-компонентов в целое число в формате модели цвета RGB по умолчанию и копирует полученные 32-битные значения ARGB в указанный массив. Записываются только начальные элементы массива, как указано в getMapSize.
- Параметры:
-
rgb- указанный массив, в который копируются преобразованные значения ARGB из этого массива цветовых и альфа-компонентов.
getRed
public final int getRed(int pixel)
Возвращает красный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в модели цвета RGB по умолчанию, sRGB. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для расчёта возвращаемого значения. Возвращаемое значение — это непоумноженное значение.
- Указано:
-
getRedв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- значение красного цветового компонента для указанного пикселя
getGreen
public final int getGreen(int pixel)
Возвращает зелёный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в модели цвета RGB по умолчанию, sRGB. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для расчёта возвращаемого значения. Возвращаемое значение — это непоумноженное значение.
- Указано:
-
getGreenв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- значение зелёного цветового компонента для указанного пикселя
getBlue
public final int getBlue(int pixel)
Возвращает синий цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в модели цвета RGB по умолчанию, sRGB. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для расчёта возвращаемого значения. Возвращаемое значение — это непоумноженное значение.
- Указано:
-
getBlueв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- значение синего цветового компонента для указанного пикселя
getAlpha
public final int getAlpha(int pixel)
Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для расчёта возвращаемого значения.
- Указано:
-
getAlphaв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- значение альфа-компонента для указанного пикселя
getRGB
public final int getRGB(int pixel)
Возвращает цветовые/альфа-компоненты пикселя в формате модели цвета RGB по умолчанию. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для расчёта возвращаемого значения. Возвращаемое значение в непоумноженном формате.
- Переопределяет:
-
getRGBв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- цветовые и альфа-компоненты указанного пикселя
- См. также:
ColorModel.getRGBdefault()
getDataElements
public Object getDataElements(int rgb,
Object pixel) Возвращает массив элементов данных, представляющий пиксель в этой модели цвета, учитывая целое представление пикселя в модели цвета RGB по умолчанию. Этот массив затем может быть передан методу setDataElements объекта WritableRaster. Если переменная пикселя null, новый массив выделяется. Если pixel не null, он должен быть примитивным массивом типа transferType; в противном случае, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если pixel не достаточно велик для хранения значения пикселя для этого ColorModel. Возвращается массив пикселей.
Поскольку IndexColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то они выбрасывают исключение, если они используют неподдерживаемый transferType.
- Переопределяет:
-
getDataElementsв классеColorModel - Параметры:
-
rgb- целое представление пикселя в модели цвета RGB по умолчанию -
pixel- указанный пиксель - Возвращает:
- массив, представляющий указанный пиксель в этом
IndexColorModel. - Выбрасывает:
-
ClassCastException- еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиpixelне достаточно велик для хранения значения пикселя для этогоColorModel -
UnsupportedOperationException- еслиtransferTypeневерно - См. также:
-
WritableRaster.setDataElements(int, int, java.lang.Object),SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
getComponents
public int[] getComponents(int pixel,
int[] components,
int offset) Возвращает массив ненормализованных цветовых/альфа-компонентов для указанного пикселя в этом ColorModel. Значение пикселя задаётся как целое число. Если массив components является null, выделяется новый массив, содержащий offset + getNumComponents() элементов. Возвращается массив components, содержащий альфа-компонент только если hasAlpha возвращает true. Цветовые/альфа-компоненты хранятся в массиве components начиная с offset, даже если массив выделяется этим методом. Выбрасывается ArrayIndexOutOfBoundsException, если массив components не null и не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset.
- Переопределяет:
-
getComponentsв классеColorModel - Параметры:
-
pixel- указанный пиксель -
components- массив для получения цветовых и альфа-компонентов указанного пикселя -
offset- смещение в массивеcomponentsдля начала хранения цветовых и альфа-компонентов - Возвращает:
- массив, содержащий цветовые и альфа-компоненты указанного пикселя, начиная со смещения.
- См. также:
-
ColorModel.hasAlpha(),ColorModel.getNumComponents()
getComponents
public int[] getComponents(Object pixel,
int[] components,
int offset) Возвращает массив ненормализованных цветовых/альфа-компонентов для указанного пикселя в этом ColorModel. Значение пикселя задаётся массивом элементов данных типа transferType , переданным в качестве ссылки на объект. Если pixel не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если pixel недостаточно велик, чтобы содержать значение пикселя для этого ColorModel. Если массив components пуст, выделяется новый массив, содержащий offset + getNumComponents() элементов. Массив components возвращается, с альфа-компонентом, включаемым только если hasAlpha возвращает true. Цветовые/альфа-компоненты хранятся в массиве components начиная с offset, даже если массив выделяется этим методом. Также выбрасывается ArrayIndexOutOfBoundsException, если массив components не является null и не достаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная с offset.
Так как IndexColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемый transferType.
- Переопределяет:
-
getComponentsв классеColorModel - Параметры:
-
pixel- указанный пиксель -
components- массив, который получает цветовые и альфа-компоненты указанного пикселя -
offset- индекс в массивеcomponents, с которого начинать хранение цветовых и альфа-компонентов указанного пикселя - Возвращает:
- массив, содержащий цветовые и альфа-компоненты указанного пикселя, начиная с указанного смещения.
- Исключения:
-
ArrayIndexOutOfBoundsException- еслиpixelне достаточно велик, чтобы содержать значение пикселя для этогоColorModelили если массивcomponentsне являетсяnullи не достаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная сoffset -
ClassCastException- еслиpixelне является примитивным массивом типаtransferType -
UnsupportedOperationException- еслиtransferTypeне является одним из поддерживаемых типов передачи - См. также:
-
ColorModel.hasAlpha(),ColorModel.getNumComponents()
getDataElement
public int getDataElement(int[] components,
int offset) Возвращает значение пикселя, представленное как целое число в этом ColorModel , заданного массивом ненормализованных цветовых/альфа-компонентов. Выбрасывается ArrayIndexOutOfBoundsException, если массив components недостаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная с offset. Так как 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. Выбрасывается ArrayIndexOutOfBoundsException, если массив components недостаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная с offset. Если переменная пикселя null, выделяется новый массив. Если pixel не является null, он должен быть примитивным массивом типа transferType; в противном случае выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если pixel недостаточно велик, чтобы содержать значение пикселя для этого ColorModel.
Так как IndexColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемый transferType
- Переопределяет:
-
getDataElementsв классеColorModel - Параметры:
-
components- массив ненормализованных цветовых и альфа-компонентов -
offset- индекс вcomponents, с которого начинать извлечение цветовых и альфа-компонентов -
pixel-Object, представляющий массив цветовых и альфа-компонентов - Возвращает:
Object, представляющий массив цветовых и альфа-компонентов.- Исключения:
-
ClassCastException- еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиpixelнедостаточно велик, чтобы содержать значение пикселя для этогоColorModelили массивcomponentsнедостаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная сoffset -
UnsupportedOperationException- еслиtransferTypeне является одним из поддерживаемых типов передачи - См. также:
-
WritableRaster.setDataElements(int, int, java.lang.Object),SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
createCompatibleWritableRaster
public WritableRaster createCompatibleWritableRaster(int w,
int h) Создаёт WritableRaster с указанной шириной и высотой, имеющий структуру данных (SampleModel) совместимую с этим ColorModel. Этот метод работает только для цветовых моделей с 16 или менее битами на пиксель.
Так как IndexColorModel может быть подклассом, любой подкласс, поддерживающий более 16 бит на пиксель, должен переопределить этот метод.
- Переопределяет:
-
createCompatibleWritableRasterв классеColorModel - Параметры:
-
w- ширина для новогоWritableRaster -
h- высота для новогоWritableRaster - Возвращает:
- объект
WritableRasterс указанной шириной и высотой. - Исключения:
-
UnsupportedOperationException- если количество бит в пикселе больше 16 - См. также:
-
WritableRaster,SampleModel
isCompatibleRaster
public boolean isCompatibleRaster(Raster raster)
Возвращает true, если raster совместим с этим ColorModel, или false, если он не совместим с этим ColorModel.
- Переопределяет:
-
isCompatibleRasterв классеColorModel - Параметры:
-
raster- объектRasterдля проверки совместимости - Возвращает:
-
true, еслиrasterсовместим с этимColorModel;falseв противном случае.
createCompatibleSampleModel
public SampleModel createCompatibleSampleModel(int w,
int h) Создаёт SampleModel с указанной шириной и высотой, имеющий структуру данных, совместимую с этим ColorModel.
- Переопределяет:
-
createCompatibleSampleModelв классеColorModel - Параметры:
-
w- ширина для новогоSampleModel -
h- высота для новогоSampleModel - Возвращает:
- объект
SampleModelс указанной шириной и высотой. - Исключения:
-
IllegalArgumentException- еслиwилиhне больше 0 - См. также:
SampleModel
isCompatibleSampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместим ли указанный SampleModel с этим ColorModel. Если sm равен null, этот метод возвращает false.
- Переопределяет:
-
isCompatibleSampleModelв классеColorModel - Параметры:
-
sm- указанныйSampleModel, илиnull - Возвращает:
-
true, если указанныйSampleModelсовместим с этимColorModel;falseв противном случае. - См. также:
SampleModel
convertToIntDiscrete
public BufferedImage convertToIntDiscrete(Raster raster,
boolean forceARGB) Возвращает новый BufferedImage типа TYPE_INT_ARGB или TYPE_INT_RGB, имеющий Raster с данными пикселей, вычисленными путём расширения индексов в исходном Raster , используя цветовые/альфа-компоненты этого ColorModel. Используются только младшие n биты каждого значения индекса в исходном Raster, как указано в описании класса выше, для вычисления цветовых/альфа-значений в возвращаемом изображении. Если forceARGB равно true, возвращается изображение TYPE_INT_ARGB независимо от того, есть ли у этого ColorModel массив альфа-компонентов или прозрачный пиксель.
- Параметры:
-
raster- указанныйRaster -
forceARGB- еслиtrue, возвращаемоеBufferedImageявляется TYPE_INT_ARGB; в противном случае TYPE_INT_RGB - Возвращает:
BufferedImage, созданный с указаннымRaster- Исключения:
-
IllegalArgumentException- если аргумент raster несовместим с этим IndexColorModel
isValid
public boolean isValid(int pixel)
Возвращает, является ли пиксель допустимым.
- Параметры:
-
pixel- указанное значение пикселя - Возвращает:
-
trueеслиpixelявляется допустимым;falseв противном случае. - С:
- 1.3
isValid
public boolean isValid()
Возвращает, являются ли все пиксели допустимыми.
- Возвращает:
-
trueесли все пиксели допустимы;falseв противном случае. - С:
- 1.3
getValidPixels
public BigInteger getValidPixels()
Возвращает BigInteger, который указывает на допустимые/недопустимые пиксели в палитре. Бит является допустимым, если значение BigInteger в этом индексе установлено, и недопустимым, если значение BigInteger в этом индексе не установлено. Единственные допустимые диапазоны для запроса в BigInteger находятся в пределах от 0 до размера карты.
- Возвращает:
- a
BigInteger, указывающий на допустимые/недопустимые пиксели. - С:
- 1.3
finalize
public void finalize()
Освобождает системные ресурсы, связанные с этим ColorModel после того, как на этот ColorModel больше не ссылаются.
- Переопределяет:
-
finalizeв классеColorModel - См. также:
-
WeakReference,PhantomReference
toString
public String toString()
Возвращает строковое представление содержимого этого объекта ColorModel.
- Переопределяет:
-
toStringв классеColorModel - Возвращает:
- a
String, представляющий содержимое объектаColorModel.
© 1993, 2020, 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.