Класс IndexColorModel

Все реализованные интерфейсы:
Transparency
public class IndexColorModel
extends ColorModel

Класс IndexColorModel — это класс, который работает с значениями пикселей, состоящими из одного образца, являющегося индексом в фиксированной цветовой карте в стандартном цветовом пространстве sRGB. Цветовая карта определяет компоненты красного, зелёного, синего и необязательный альфа-компонент, соответствующие каждому индексу. Все компоненты представлены в цветовой карте как 8-битные беззнаковые целые значения. Некоторые конструкторы позволяют вызывающему коду указывать «дыры» в цветовой карте, указывая, какие записи цветовой карты являются допустимыми, а какие представляют недопустимые цвета с помощью установленных битов в объекте BigInteger. Эта модель цвета похожа на визуальный элемент PseudoColor X11.

Некоторые конструкторы обеспечивают возможность указать альфа-компонент для каждого пикселя в цветовой карте, в то время как другие либо не предоставляют такой возможности, либо в некоторых случаях флаг, указывающий, содержит ли данные цветовой карты значения альфа. Если альфа не предоставлена в конструктор, предполагается непрозрачный альфа-компонент (альфа = 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 является допустимым для всех объектов этого класса, так как всегда возможно представить значения пикселей, используемые с этим классом, в одном 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()

Устаревший.

Метод 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)

Возвращает массив ненормализованных цветовых/альфа-компонентов для указанного пикселя в этом 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)

Возвращает массив элементов данных, представляющих пиксель в этом ColorModel, на основе целого значения пикселя в стандартной цветовой модели RGB.

int getGreen​(int pixel)

Возвращает зеленую цветовую компоненту указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB, sRGB.

void getGreens​(byte[] g)

Копирует массив зелёных цветовых компонент в указанный массив.

int getMapSize()

Возвращает размер массивов цветовых/альфа-компонентов в этом IndexColorModel.

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()

Возвращает индекс прозрачного пикселя в этом 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()

Возвращает строковое представление содержимого объекта 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 из массива целых чисел, где каждое целое число состоит из красных, зеленых, синих и необязательных альфа-компонентов в формате цветовой модели RGB по умолчанию. Указанный индекс прозрачности представляет пиксель, который становится полностью прозрачным независимо от любого значения альфа-канала, указанного для него. Массив должен содержать достаточно значений, чтобы заполнить все необходимые массивы компонентов указанного размера. ColorSpace является пространством sRGB по умолчанию. Значение прозрачности может быть любым из Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT в зависимости от аргументов, как указано в описании класса выше.

Параметры:
bits - количество бит, которое занимает каждый пиксель
size - размер массивов цветовых компонентов
cmap - массив цветовых компонентов
start - начальное смещение первого цветового компонента
hasalpha - указывает, содержатся ли значения альфа-канала в массиве cmap
trans - индекс полностью прозрачного пикселя
transferType - тип данных массива, используемого для представления значений пикселей. Тип данных должен быть либо DataBuffer.TYPE_BYTE, либо DataBuffer.TYPE_USHORT.
Исключения:
IllegalArgumentException - если bits меньше 1 или больше 16
IllegalArgumentException - если size меньше 1
IllegalArgumentException - если transferType не является одним из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       int[] cmap,
                       int start,
                       int transferType,
                       BigInteger validBits)

Создает IndexColorModel из массива int, где каждый int состоит из красных, зеленых, синих и альфа-компонентов в формате цветовой модели RGB по умолчанию. Массив должен содержать достаточно значений, чтобы заполнить все необходимые массивы компонентов указанного размера. ColorSpace является пространством sRGB по умолчанию. Значение прозрачности может быть любым из Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT в зависимости от аргументов, как указано в описании класса выше. Тип передачи должен быть одним из DataBuffer.TYPE_BYTE DataBuffer.TYPE_USHORT. Объект BigInteger указывает допустимые/недопустимые пиксели в массиве cmap. Пиксель допустим, если установлен бит BigInteger с этим индексом, и недопустим, если бит BigInteger с этим индексом не установлен.

Параметры:
bits - количество бит, которое занимает каждый пиксель
size - размер массива цветовых компонентов
cmap - массив цветовых компонентов
start - начальное смещение первого цветового компонента
transferType - указанный тип данных
validBits - объект BigInteger. Если бит установлен в BigInteger, пиксель с этим индексом допустим. Если бит не установлен, пиксель с этим индексом считается недопустимым. Если null, все пиксели допустимы. Учитываются только биты от 0 до размера карты.
Исключения:
IllegalArgumentException - если bits меньше 1 или больше 16
IllegalArgumentException - если size меньше 1
IllegalArgumentException - если transferType не является одним из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT
С версии:
1.3

Методы

getTransparency

public int getTransparency()

Возвращает прозрачность. Возвращает либо 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 ColorModel по умолчанию и копирует полученные 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)

Возвращает массив элементов данных представления пикселя в этом ColorModel, учитывая целочисленное представление пикселя в формате 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.

Overrides:
getComponents в классе ColorModel
Parameters:
pixel - указанный пиксель
components - массив, который получает компоненты цвета и альфа указанного пикселя
offset - индекс в массиве components, с которого начать сохранение компонентов цвета и альфа указанного пикселя
Returns:
массив, содержащий компоненты цвета и альфа указанного пикселя, начиная с указанного смещения.
Throws:
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для этого ColorModel или если массив components не является null и не достаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset
ClassCastException - если pixel не является примитивным массивом типа transferType
UnsupportedOperationException - если transferType не является одним из поддерживаемых типов передачи
See Also:
ColorModel.hasAlpha(), ColorModel.getNumComponents()

getDataElement

public int getDataElement(int[] components,
                          int offset)

Возвращает значение пикселя, представленное как int в этом ColorModel, на основе массива ненормализованных компонентов цвета/альфа. Выбрасывается ArrayIndexOutOfBoundsException если массив components недостаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset. Поскольку ColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.

Overrides:
getDataElement в классе ColorModel
Parameters:
components - массив ненормализованных компонентов цвета и альфа
offset - индекс в массиве components, с которого начать извлечение компонентов цвета и альфа
Returns:
значение пикселя int в этом 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 может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType

Overrides:
getDataElements в классе ColorModel
Parameters:
components - массив ненормализованных компонентов цвета и альфа
offset - индекс в массиве components, с которого начать извлечение компонентов цвета и альфа
pixel - Object представляющий массив компонентов цвета и альфа
Returns:
Object представляющий массив компонентов цвета и альфа.
Throws:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel не достаточно велик для хранения значения пикселя для этого ColorModel или массив components не достаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset
UnsupportedOperationException - если transferType не является одним из поддерживаемых типов передачи
See Also:
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 бит на пиксель, должен переопределить этот метод.

Overrides:
createCompatibleWritableRaster в классе ColorModel
Parameters:
w - ширина для нового WritableRaster
h - высота для нового WritableRaster
Returns:
объект WritableRaster с заданной шириной и высотой.
Throws:
UnsupportedOperationException - если число бит в пикселе больше 16
See Also:
WritableRaster, SampleModel

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:
SampleModel

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:
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 массив компонентов альфа или прозрачный пиксель.

Parameters:
raster - указанный Raster
forceARGB - если true, возвращаемое BufferedImage является TYPE_INT_ARGB; в противном случае это TYPE_INT_RGB
Returns:
объект BufferedImage созданный с указанным Raster
Throws:
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

@Deprecated(since="9")
public void finalize()
Устаревший.
Метод finalize устарел. Подклассы, которые переопределяют finalize для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки и удаления переопределённого метода finalize. При переопределении метода finalize, его реализация должна явно гарантировать вызов super.finalize() как описано в Object.finalize(). Смотрите спецификацию для Object.finalize() для получения дополнительной информации о вариантах миграции.

Освобождает системные ресурсы, связанные с этим ColorModel после того, как на этот ColorModel больше нет ссылок.

Переопределяет:
finalize в классе ColorModel
См. также:
WeakReference, PhantomReference

toString

public String toString()

Возвращает строковое представление содержимого этого объекта ColorModel.

Переопределяет:
toString в классе ColorModel
Возвращает:
a String представляющее содержимое этого объекта ColorModel.

equals

public boolean equals(Object obj)

Проверяет, является ли указанный Object экземпляром IndexColorModel и равен ли он этому IndexColorModel

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

hashCode

public int hashCode()

Возвращает хэш-код для IndexColorModel.

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

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/image/IndexColorModel.html

Spec-Zone .ru
спецификации, руководства, описания, API