Spec-Zone.ru › OpenJDK 17

Класс 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 только в том случае, если все допустимые цвета в цветовой карте непрозрачны и нет допустимого прозрачного пикселя. Если все допустимые цвета в цветовой карте либо полностью непрозрачны (альфа = 1,0), либо полностью прозрачны (альфа = 0,0), что обычно происходит при указании допустимого прозрачного пикселя, значение равно Transparency.BITMASK. В противном случае значение равно Transparency.TRANSLUCENT, указывая, что некоторый допустимый цвет имеет альфа-компонент, который не является ни полностью прозрачным, ни полностью непрозрачным (0,0 < альфа < 1,0).

Если объект IndexColorModel имеет значение прозрачности Transparency.OPAQUE, то методы hasAlpha и getNumComponents (оба унаследованы от ColorModel ) возвращают false и 3 соответственно. Для любого другого значения прозрачности hasAlpha возвращает true, а getNumComponents возвращает 4.

Значения, используемые для индексирования в цветовой карте, берутся из наименее значимых n бит представлений пикселей, где n основано на размере пикселя, указанном в конструкторе. Для размеров пикселей меньше 8 бит, n округляется до степени двойки (3 становится 4, а 5, 6, 7 становятся 8). Для размеров пикселей от 8 до 16 бит, n равно размеру пикселя. Пиксельные размеры больше 16 бит не поддерживаются этим классом. Биты более высокого порядка, превышающие n, игнорируются в представлениях пикселей. Значения индексов, большие или равные размеру карты, но меньше 2n, не определены и возвращают 0 для всех цветовых и альфа-компонентов.

Для тех методов, которые используют примитивный массив пикселей типа transferType, длина массива всегда равна единице. Поддерживаемые типы преобразования — DataBuffer.TYPE_BYTE и DataBuffer.TYPE_USHORT . Одно целое число (int) пиксельное представление допустимо для всех объектов этого класса, поскольку всегда возможно представить пиксельные значения, используемые с этим классом, в одном целом числе. Таким образом, методы, которые используют это представление, не генерируют 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 из указанных массивов компонентов красного, зелёного и синего цветов.
IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, byte[] a)
Создаёт IndexColorModel из заданных массивов компонентов красного, зелёного, синего и альфа-каналов.
IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, int trans)
Создаёт IndexColorModel из заданных массивов компонентов красного, зелёного и синего цветов.
IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha)
Создаёт IndexColorModel из одного массива переплетённых компонентов красного, зелёного, синего и необязательного альфа-канала.
IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha, int trans)
Создаёт IndexColorModel из одного массива переплетённых компонентов красного, зелёного, синего и необязательного альфа-канала.
IndexColorModel(int bits, int size, int[] cmap, int start, boolean hasalpha, int trans, int transferType)
Создаёт IndexColorModel из массива целых чисел, где каждое целое число состоит из компонентов красного, зелёного, синего и необязательного альфа-канала в формате модели цвета RGB по умолчанию.
IndexColorModel(int bits, int size, int[] cmap, int start, int transferType, BigInteger validBits)
Создаёт IndexColorModel из массива int, где каждое int состоит из компонентов красного, зелёного, синего и альфа-канала в формате модели цвета RGB по умолчанию.

Краткое описание методов

Модификатор и тип Метод Описание
BufferedImage convertToIntDiscrete(Raster raster, boolean forceARGB)
Возвращает новый BufferedImage типа TYPE_INT_ARGB или TYPE_INT_RGB, который имеет Raster с данными пикселей, вычисленных путём расширения индексов в исходном Raster с использованием массивов компонентов цвета/альфа-канала этого ColorModel.
SampleModel createCompatibleSampleModel(int w, int h)
Создаёт SampleModel с указанной шириной и высотой, имеющий структуру данных, совместимую с этим ColorModel.
WritableRaster createCompatibleWritableRaster(int w, int h)
Создаёт WritableRaster с указанной шириной и высотой, имеющий структуру данных (SampleModel) совместимую с этим ColorModel.
boolean equals(Object obj)
Проверяет, является ли указанный Object экземпляром IndexColorModel и равен ли он этому IndexColorModel
void finalize()
Устаревший, для удаления: Этот элемент API может быть удалён в будущей версии.
Метод finalize устарел.
final int getAlpha(int pixel)
Возвращает компонент альфа-канала для указанного пикселя, масштабированный от 0 до 255.
final void getAlphas(byte[] a)
Копирует массив компонентов прозрачности альфа-канала в указанный массив.
final int getBlue(int pixel)
Возвращает компонент синего цвета для указанного пикселя, масштабированный от 0 до 255 в стандартной модели RGB ColorSpace, sRGB.
final void getBlues(byte[] b)
Копирует массив компонентов синего цвета в указанный массив.
int[] getComponents(int pixel, int[] components, int offset)
Возвращает массив ненормализованных компонентов цвета/альфа-канала для указанного пикселя в этом ColorModel.
int[] getComponents(Object pixel, int[] components, int offset)
Возвращает массив ненормализованных компонентов цвета/альфа-канала для указанного пикселя в этом ColorModel.
int[] getComponentSize()
Возвращает массив количества битов для каждого компонента цвета/альфа-канала.
int getDataElement(int[] components, int offset)
Возвращает значение пикселя, представленное как целое число в этом ColorModel, на основе массива ненормализованных компонентов цвета/альфа-канала.
Object getDataElements(int[] components, int offset, Object pixel)
Возвращает массив данных элементов, представляющий пиксель в этом ColorModel, на основе массива ненормализованных компонентов цвета/альфа-канала.
Object getDataElements(int rgb, Object pixel)
Возвращает массив данных элементов, представляющий пиксель в этой модели цвета, на основе целого числового представления пикселя в стандартной модели цвета RGB.
final int getGreen(int pixel)
Возвращает компонент зелёного цвета для указанного пикселя, масштабированный от 0 до 255 в стандартной модели RGB ColorSpace, sRGB.
final void getGreens(byte[] g)
Копирует массив компонентов зелёного цвета в указанный массив.
final int getMapSize()
Возвращает размер массивов компонентов цвета/альфа-канала в этом IndexColorModel.
final int getRed(int pixel)
Возвращает компонент красного цвета для указанного пикселя, масштабированный от 0 до 255 в стандартной модели RGB ColorSpace, sRGB.
final void getReds(byte[] r)
Копирует массив компонентов красного цвета в указанный массив.
final int getRGB(int pixel)
Возвращает компоненты цвета/альфа-канала пикселя в формате стандартной модели цвета RGB.
final void getRGBs(int[] rgb)
Преобразует данные для каждого индекса из массивов компонентов цвета и альфа-канала в целое число в формате стандартной модели цвета RGB и копирует полученные 32-битные значения ARGB в указанный массив.
int getTransparency()
Возвращает прозрачность.
final int getTransparentPixel()
Возвращает индекс прозрачного пикселя в этом IndexColorModel или -1, если нет пикселя с значением альфа-канала 0.
BigInteger getValidPixels()
Возвращает BigInteger, указывающий на допустимые/недопустимые пиксели в палитре.
int hashCode()
Возвращает хэш-код для IndexColorModel.
boolean isCompatibleRaster(Raster raster)
Возвращает true если raster совместим с этим ColorModel или false если он не совместим с этим ColorModel.
boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместим ли указанный SampleModel с этой ColorModel.
boolean isValid()
Возвращает, все ли пиксели допустимые.
boolean isValid(int pixel)
Возвращает, допустим ли пиксель.
String toString()
Возвращает String представление содержимого этого объекта 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

Методы, объявленные в классе 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, в зависимости от аргументов, как указано в описании класса выше. Тип передачи — это наименьший из 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 из массива целых чисел, где каждый int состоит из красного, зелёного, синего и необязательного альфа-компонента в формате модели 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()
Возвращает значение прозрачности. Возвращает OPAQUE, BITMASK или TRANSLUCENT
Specified by:
getTransparency в интерфейсе Transparency
Overrides:
getTransparency в классе ColorModel
Returns:
значение прозрачности этого IndexColorModel
See Also:
  • Transparency.OPAQUE
  • Transparency.BITMASK
  • Transparency.TRANSLUCENT

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)
Преобразует данные для каждого индекса из массивов компонент цвета и альфа-канала в целое число в формате модели цвета RGB по умолчанию и копирует полученные 32-битные значения ARGB в указанный массив. Записываются только начальные элементы массива, как указано в getMapSize.
Parameters:
rgb - указанный массив, в который копируются преобразованные значения ARGB из этого массива компонент цвета и альфа-канала.

getRed

public final int getRed(int pixel)
Возвращает компонент красного цвета для заданного пикселя, масштабированный от 0 до 255 в пространстве цветов RGB по умолчанию, sRGB. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для вычисления возвращаемого значения. Возвращаемое значение — не умноженное значение.
Specified by:
getRed в классе ColorModel
Parameters:
pixel - указанный пиксель
Returns:
значение компоненты красного цвета для заданного пикселя

getGreen

public final int getGreen(int pixel)
Возвращает компонент зелёного цвета для заданного пикселя, масштабированный от 0 до 255 в пространстве цветов RGB по умолчанию, sRGB. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для вычисления возвращаемого значения. Возвращаемое значение — не умноженное значение.
Specified by:
getGreen в классе ColorModel
Parameters:
pixel - указанный пиксель
Returns:
значение компоненты зелёного цвета для заданного пикселя

getBlue

public final int getBlue(int pixel)
Возвращает компонент синего цвета для заданного пикселя, масштабированный от 0 до 255 в пространстве цветов RGB по умолчанию, sRGB. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для вычисления возвращаемого значения. Возвращаемое значение — не умноженное значение.
Specified by:
getBlue в классе ColorModel
Parameters:
pixel - указанный пиксель
Returns:
значение компоненты синего цвета для заданного пикселя

getAlpha

public final int getAlpha(int pixel)
Возвращает компонент альфа-канала для заданного пикселя, масштабированный от 0 до 255. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для вычисления возвращаемого значения.
Specified by:
getAlpha в классе ColorModel
Parameters:
pixel - указанный пиксель
Returns:
значение компоненты альфа-канала для заданного пикселя

getRGB

public final int getRGB(int pixel)
Возвращает компоненты цвета/альфа-канала пикселя в формате модели цвета RGB по умолчанию. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для вычисления возвращаемого значения. Возвращаемое значение в формате без предварительного умножения.
Overrides:
getRGB в классе ColorModel
Parameters:
pixel - указанный пиксель
Returns:
компоненты цвета и альфа-канала указанного пикселя
See Also:
  • ColorModel.getRGBdefault()

getDataElements

public Object getDataElements(int rgb, Object pixel)
Возвращает массив элементов данных, представляющий пиксель в данной модели цвета, заданный целым числом, представляющим пиксель в стандартной модели цвета RGB. Этот массив затем можно передать методу 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 недопустим
См. также:
  • 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 пуст, выделяется новый массив, содержащий offset + getNumComponents() элементов. Возвращается массив components, включая компонент альфа, только если hasAlpha возвращает true. Компоненты цвета/альфа хранятся в массиве components начиная с offset, даже если массив выделен этим методом. Исключение ArrayIndexOutOfBoundsException выбрасывается, если массив components не пуст и недостаточно велик для хранения всех компонентов цвета и альфа, начиная с offset.
Overrides:
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 не пуст и недостаточно велик для хранения всех компонентов цвета и альфа, начиная с offset.

Так как IndexColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, выбрасывается исключение, если они используют недопустимый transferType.

Overrides:
getComponents в классе ColorModel
Параметры:
pixel - указанный пиксель
components - массив, получающий компоненты цвета и альфа указанного пикселя
offset - индекс в массиве components для начала хранения компонентов цвета и альфа указанного пикселя
Возвращает:
массив, содержащий компоненты цвета и альфа указанного пикселя, начиная со смещения.
Исключения:
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для данной ColorModel или если массив components не пуст и недостаточно велик для хранения всех компонентов цвета и альфа, начиная с offset
ClassCastException - если pixel не является примитивным массивом типа transferType
UnsupportedOperationException - если transferType не является одним из поддерживаемых типов передачи
См. также:
  • ColorModel.hasAlpha()
  • ColorModel.getNumComponents()

getDataElement

public int getDataElement(int[] components, int offset)
Возвращает значение пикселя, представленное как целое число в данной модели ColorModel, на основе массива ненормализованных компонентов цвета/альфа. Исключение ArrayIndexOutOfBoundsException выбрасывается, если массив components недостаточно велик для хранения всех компонентов цвета и альфа, начиная с offset. Поскольку ColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, выбрасывается исключение при использовании недопустимого transferType.
Overrides:
getDataElement в классе ColorModel
Параметры:
components - массив ненормализованных компонентов цвета и альфа
offset - индекс в components для начала извлечения компонентов цвета и альфа
Возвращает:
целое число, представляющее значение пикселя в данной модели 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 - массив, представляющий массив компонентов цвета и альфа
Возвращает:
массив, представляющий массив компонентов цвета и альфа.
Исключения:
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)

созданиеСовместимогоЗаписываемогоРастра

public WritableRaster createCompatibleWritableRaster(int w, int h)
Создаёт WritableRaster с указанной шириной и высотой, имеющий структуру данных (SampleModel) совместимую с этим ColorModel. Этот метод работает только для цветовых моделей с 16 или менее битами на пиксель.

Поскольку IndexColorModel может быть подклассом, любой подкласс, поддерживающий более 16 бит на пиксель, должен переопределить этот метод.

Overrides:
createCompatibleWritableRaster в классе ColorModel
Параметры:
w - ширина, применимая к новому WritableRaster
h - высота, применимая к новому WritableRaster
Возвращает:
объект WritableRaster с указанной шириной и высотой.
Исключения:
UnsupportedOperationException - если количество бит в пикселе больше 16
См. также:
  • WritableRaster
  • SampleModel

совместимСРастром

public boolean isCompatibleRaster(Raster raster)
Возвращает true если raster совместим с этим ColorModel или false если не совместим с этим ColorModel.
Overrides:
isCompatibleRaster в классе ColorModel
Параметры:
raster - объект Raster для проверки на совместимость
Возвращает:
true если raster совместим с этим ColorModel; false в противном случае.

создатьСовместимуюОбразцовуюМодель

public SampleModel createCompatibleSampleModel(int w, int h)
Создаёт SampleModel с указанной шириной и высотой, имеющий структуру данных, совместимую с этим ColorModel.
Overrides:
createCompatibleSampleModel в классе ColorModel
Параметры:
w - ширина, применимая к новой SampleModel
h - высота, применимая к новой SampleModel
Возвращает:
объект SampleModel с указанной шириной и высотой.
Исключения:
IllegalArgumentException - если w или h не больше 0
См. также:
  • SampleModel

совместимСОбразцовойМоделей

public boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместима ли указанная SampleModel с этим ColorModel. Если sm является null, этот метод возвращает false.
Overrides:
isCompatibleSampleModel в классе ColorModel
Параметры:
sm - указанная SampleModel, или null
Возвращает:
true если указанная SampleModel совместима с этим ColorModel; false в противном случае.
См. также:
  • SampleModel

преобразоватьВЦелочисленныйДискретный

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

действителен

public boolean isValid(int pixel)
Возвращает, является ли пиксель действительным.
Параметры:
pixel - указанное значение пикселя
Возвращает:
true если pixel действителен; false в противном случае.
С:
1.3

действителен

public boolean isValid()
Возвращает, являются ли все пиксели действительными.
Возвращает:
true если все пиксели действительны; false в противном случае.
С:
1.3

получитьДействительныеПиксели

public BigInteger getValidPixels()
Возвращает BigInteger , указывающий на действительные/недействительные пиксели в цветовой карте. Бит действителен, если значение BigInteger в этом индексе установлено, и недействителен, если значение BigInteger в этом индексе не установлено. Единственные допустимые диапазоны запроса в BigInteger находятся между 0 и размером карты.
Возвращает:
BigInteger указывающий на действительные/недействительные пиксели.
С:
1.3

finalize

@Deprecated(since="9", forRemoval=true) public void finalize()
Deprecated, for removal: Этот элемент API может быть удален в будущей версии.
Метод finalize устарел. Подклассы, переопределяющие finalize для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки и удаления переопределенного метода finalize. При переопределении метода finalize, его реализация должна явно гарантировать вызов super.finalize() как описано в Object.finalize(). См. спецификацию для Object.finalize() для получения дополнительной информации о вариантах миграции.
Освобождает системные ресурсы, связанные с этим ColorModel , после того, как на этот ColorModel больше не ссылаются.
Overrides:
finalize в классе ColorModel
См. также:
  • WeakReference
  • PhantomReference

строковоеПредставление

public String toString()
Возвращает строковое представление содержимого этого объекта ColorModel.
Overrides:
toString в классе ColorModel
Возвращает:
строковое представление содержимого этого объекта ColorModel.

равенство

public boolean equals(Object obj)
Проверяет, является ли указанный Object экземпляром IndexColorModel и равен ли он этому IndexColorModel
Overrides:
equals в классе ColorModel
Параметры:
obj - объект Object для проверки на равенство
Возвращает:
true если указанный Object равен этому IndexColorModel; false в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хэш-код для IndexColorModel.
Overrides:
hashCode в классе ColorModel
Возвращает:
хэш-код для IndexColorModel
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/image/IndexColorModel.html

Spec-Zone.ru

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