Класс ColorModel

Все реализуемые интерфейсы:
Transparency
Прямые известные подклассы:
ComponentColorModel, IndexColorModel, PackedColorModel
public abstract class ColorModel
extends Object
implements Transparency

Абстрактный класс ColorModel описывает методы преобразования значения пикселя в компоненты цвета (например, красный, зелёный и синий) и альфа-компонент. Для отображения изображения на экране, принтере или другом устройстве, значения пикселей должны быть преобразованы в компоненты цвета и альфа-компонента. В качестве аргументов или возвращаемых значений методов этого класса пиксели представлены как 32-битные целые числа или как массивы примитивных типов. Количество, порядок и интерпретация цветовых компонентов для ColorModel определяются его ColorSpace. ColorModel, используемый с данными пикселей, не включающими альфа-информацию, обрабатывает все пиксели как непрозрачные, что соответствует значению альфа 1.0.

Этот класс ColorModel поддерживает два представления значений пикселей. Значение пикселя может быть представлено как одно 32-битное целое число или как массив примитивных типов. API Java(tm) Platform 1.0 и 1.1 представляли пиксели как одиночные значения byte или int. В классе ColorModel аргументы значений пикселей передавались как целые числа. API Java(tm) 2 Platform ввёл дополнительные классы для представления изображений. С объектами BufferedImage или RenderedImage, основанными на классах Raster и SampleModel, значения пикселей могут не быть удобно представлены одним целым числом. Поэтому, ColorModel теперь имеет методы, принимающие значения пикселей, представленные как массивы примитивных типов. Примитивный тип, используемый конкретным объектом ColorModel, называется его типом передачи.

Объекты ColorModel, используемые с изображениями, для которых значения пикселей не могут быть удобно представлены одним целым числом, вызывают исключение IllegalArgumentException при вызове методов, принимающих единственный целочисленный аргумент пикселя. Подклассы ColorModel должны указать условия, при которых это происходит. Это не происходит с объектами DirectColorModel или IndexColorModel.

В настоящее время типы передачи, поддерживаемые API Java 2D(tm), являются DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT и DataBuffer.TYPE_DOUBLE. Большинство операций рендеринга будут выполняться намного быстрее при использовании ColorModel и изображений, основанных на первых трёх из этих типов. Кроме того, некоторые операции фильтрации изображений не поддерживаются для ColorModel и изображений, основанных на последних трёх типах. Тип передачи для конкретного объекта ColorModel указывается при создании объекта, либо по умолчанию. Все подклассы ColorModel должны указать, каковы возможные типы передачи и как определяется количество элементов в массивах примитивных типов, представляющих пиксели.

Для BufferedImages, тип передачи его Raster и объекта Raster (доступен через методы getTransferType этих классов) должен соответствовать типу передачи ColorModel. Количество элементов в массиве, представляющем пиксель для Raster и SampleModel (доступных через методы getNumDataElements этих классов) должно соответствовать количеству элементов в массиве ColorModel.

Алгоритм преобразования от значений пикселей к цветовым и альфа-компонентам зависит от подкласса. Например, не обязательно существует взаимно однозначное соответствие между выборками, полученными из SampleModel объекта BufferedImage, и цветовыми/альфа-компонентами. Даже когда такое соответствие существует, количество бит в выборке не обязательно совпадает с количеством бит в соответствующем цветовом/альфа-компоненте. Каждый подкласс должен указать, как выполняется преобразование от значений пикселей к цветовым/альфа-компонентам.

Методы класса ColorModel используют два разных представления цветовых и альфа-компонентов — нормализованную и ненормализованную форму. В нормализованной форме каждый компонент представляет собой значение float между некоторыми минимальными и максимальными значениями. Для альфа-компонента минимум равен 0,0, а максимум — 1,0. Для цветовых компонентов минимальные и максимальные значения для каждого компонента можно получить из объекта ColorSpace. Эти значения часто будут 0,0 и 1,0 (например, нормализованные значения компонентов для стандартного цветового пространства sRGB лежат в диапазоне от 0,0 до 1,0), но некоторые цветовые пространства имеют значения компонентов с разными верхними и нижними пределами. Эти пределы можно получить, используя методы getMinValue и getMaxValue класса ColorSpace. Нормализованные значения цветовых компонентов не умножаются на альфа-канал.

Все ColorModels должны поддерживать нормализованную форму.

В ненормализованной форме каждый компонент представляет собой целое без знака в диапазоне от 0 до 2n - 1, где n — количество значащих бит для конкретного компонента. Если значения пикселей для конкретного ColorModel представляют цветовые выборки, умноженные на альфа-выборку, ненормализованные значения цветовых компонентов также умножаются на альфа-канал. Ненормализованная форма используется только с экземплярами ColorModel, чья ColorSpace имеет минимальные значения компонентов 0,0 для всех компонентов и максимальные значения 1,0 для всех компонентов. Ненормализованная форма для цветовых и альфа-компонентов может быть удобным представлением для ColorModels, чьи нормализованные значения компонентов лежат в диапазоне от 0,0 до 1,0. В таких случаях целое значение 0 соответствует 0,0, а значение 2n - 1 соответствует 1,0. В других случаях, например, когда нормализованные значения компонентов могут быть как отрицательными, так и положительными, ненормализованная форма неудобна. Такие объекты ColorModel выбрасывают исключение IllegalArgumentException при вызове методов, включающих ненормализованный аргумент. Подклассы ColorModel должны указать условия, при которых это происходит.

См. также:
IndexColorModel, ComponentColorModel, PackedColorModel, DirectColorModel, Image, BufferedImage, RenderedImage, ColorSpace, SampleModel, Raster, DataBuffer

Поля

Модификатор и тип Поле Описание
protected int pixel_bits

Общее количество бит в пикселе.

protected int transferType

Тип данных массива, используемого для представления значений пикселей.

Поля, унаследованные от интерфейса java.awt.Transparency

BITMASK, OPAQUE, TRANSLUCENT

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

Модификатор Конструктор Описание
ColorModel​(int bits)

Создаёт ColorModel, преобразующий пиксели заданного количества бит в цветовые/альфа-компоненты.

protected ColorModel​(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)

Создаёт ColorModel, преобразующий значения пикселей в цветовые/альфа-компоненты.

Методы

Модификатор и тип Метод Описание
ColorModel coerceData​(WritableRaster raster, boolean isAlphaPremultiplied)

Принудительно привязывает данные растрового изображения к состоянию, заданному в переменной isAlphaPremultiplied, предполагая, что данные в настоящее время правильно описываются этим ColorModel.

SampleModel createCompatibleSampleModel​(int w, int h)

Создаёт SampleModel с указанной шириной и высотой, имеющим макет данных, совместимый с этим ColorModel.

WritableRaster createCompatibleWritableRaster​(int w, int h)

Создаёт WritableRaster с указанной шириной и высотой, имеющим макет данных (SampleModel), совместимый с этим ColorModel.

boolean equals​(Object obj)

Этот метод просто делегирует выполнение стандартной реализации в Object, которая идентична тесту ==, так как данный класс не может обеспечить надлежащую проверку равенства среди нескольких независимых ветвей подклассов.

void finalize()

Устаревший.

Метод finalize устарел.

abstract int getAlpha​(int pixel)

Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255.

int getAlpha​(Object inData)

Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255.

WritableRaster getAlphaRaster​(WritableRaster raster)

Возвращает Raster, представляющий альфа-канал изображения, извлечённый из входного Raster, при условии, что значения пикселей этого ColorModel представляют информацию о цвете и альфе как отдельные пространственные полосы (например,

abstract int getBlue​(int pixel)

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

int getBlue​(Object inData)

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

ColorSpace getColorSpace()

Возвращает ColorSpace, связанное с этим ColorModel.

int[] getComponents​(int pixel, int[] components, int offset)

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

int[] getComponents​(Object pixel, int[] components, int offset)

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

int[] getComponentSize()

Возвращает массив количества бит на компоненту цвета/альфы.

int getComponentSize​(int componentIdx)

Возвращает количество бит для указанной компоненты цвета/альфы.

int getDataElement​(float[] normComponents, int normOffset)

Возвращает значение пикселя, представленное как int в этом ColorModel, на основе массива нормализованных компонент цвета/альфы.

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

Возвращает значение пикселя, представленное как int в этом ColorModel, на основе массива ненормализованных компонент цвета/альфы.

Object getDataElements​(float[] normComponents, int normOffset, Object obj)

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

Object getDataElements​(int[] components, int offset, Object obj)

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

Object getDataElements​(int rgb, Object pixel)

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

abstract int getGreen​(int pixel)

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

int getGreen​(Object inData)

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

float[] getNormalizedComponents​(int[] components, int offset, float[] normComponents, int normOffset)

Возвращает массив всех компонент цвета/альфы в нормализованной форме, исходя из массива ненормализованных компонент.

float[] getNormalizedComponents​(Object pixel, float[] normComponents, int normOffset)

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

int getNumColorComponents()

Возвращает количество цветовых компонент в этом ColorModel.

int getNumComponents()

Возвращает количество компонент, включая альфу, в этом ColorModel.

int getPixelSize()

Возвращает количество бит на пиксель, описанное этим ColorModel.

abstract int getRed​(int pixel)

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

int getRed​(Object inData)

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

int getRGB​(int pixel)

Возвращает компоненты цвета/альфы пикселя в формате стандартной цветовой модели RGB.

int getRGB​(Object inData)

Возвращает компоненты цвета/альфы для указанного пикселя в формате стандартной цветовой модели RGB.

static ColorModel getRGBdefault()

Возвращает DirectColorModel, описывающий стандартный формат целочисленных значений RGB, используемый во многих методах интерфейсов изображений AWT для удобства программиста.

int getTransferType()

Возвращает тип преобразования этого ColorModel.

int getTransparency()

Возвращает прозрачность.

int[] getUnnormalizedComponents​(float[] normComponents, int normOffset, int[] components, int offset)

Возвращает массив всех компонент цвета/альфы в ненормализованной форме, исходя из нормализованного массива компонент.

boolean hasAlpha()

Возвращает, поддерживается ли альфа в этом ColorModel.

int hashCode()

Этот метод просто делегирует выполнение стандартной реализации в Object, которая возвращает системный идентификатор класса.

boolean isAlphaPremultiplied()

Возвращает, умножена ли альфа на значение пикселя, подлежащее преобразованию этим ColorModel.

boolean isCompatibleRaster​(Raster raster)

Возвращает true, если raster совместим с этим ColorModel и false, если нет.

boolean isCompatibleSampleModel​(SampleModel sm)

Проверяет, совместим ли SampleModel с этим ColorModel.

String toString()

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

Методы, объявленные в классе java.lang.Object

clone, getClass, notify, notifyAll, wait, wait, wait

Поля

pixel_bits

protected int pixel_bits

Общее количество бит в пикселе.

transferType

protected int transferType

Тип данных массива, используемого для представления значений пикселей.

Конструкторы

ColorModel

public ColorModel(int bits)

Конструирует ColorModel, который преобразует пиксели заданного количества бит в цветовые/альфа-компоненты. Цветовое пространство — это стандартное RGB ColorSpace, которое является sRGB. Предполагается, что значения пикселей включают альфа-информацию. Если цветовая и альфа-информация представлены в значении пикселя как отдельные пространственные полосы, предполагается, что цветовые полосы не умножены на значение альфы. Тип прозрачности — java.awt.Transparency.TRANSLUCENT. Тип передачи будет наименьшим из DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT, который может содержать один пиксель (или DataBuffer.TYPE_UNDEFINED, если bits больше 32). Поскольку у этого конструктора нет информации о количестве бит на цветовой и альфа-компонент, любой подкласс, вызывающий этот конструктор, должен переопределить любой метод, требующий этой информации.

Параметры:
bits - количество бит пикселя
Исключения:
IllegalArgumentException - если количество бит в bits меньше 1

ColorModel

protected ColorModel(int pixel_bits,
                     int[] bits,
                     ColorSpace cspace,
                     boolean hasAlpha,
                     boolean isAlphaPremultiplied,
                     int transparency,
                     int transferType)

Конструирует ColorModel, который преобразует значения пикселей в цветовые/альфа-компоненты. Цветовые компоненты будут в указанном ColorSpace. pixel_bits — это количество бит в значениях пикселей. Массив bits указывает количество значимых бит на каждый цвет и альфа-компонент. Его длина должна быть равна количеству компонентов в ColorSpace, если в значениях пикселей нет альфа-информации, или на единицу больше этого числа, если альфа-информация присутствует. hasAlpha указывает, присутствует ли альфа-информация. boolean isAlphaPremultiplied определяет, как интерпретировать значения пикселей, в которых цвет и альфа-информация представлены как отдельные пространственные полосы. Если boolean равен true, предполагается, что цветовые образцы были умножены на альфа-образец. transparency определяет, какие значения альфа могут быть представлены этим цветовым представлением. Тип передачи — тип примитивного массива, используемого для представления значений пикселей. Обратите внимание, что массив bits содержит количество значимых бит на каждый цветовой/альфа-компонент после преобразования из значений пикселей. Например, для IndexColorModel с pixel_bits, равным 16, массив bits может содержать четыре элемента, каждый из которых равен 8.

Параметры:
pixel_bits - количество бит в значениях пикселей
bits - массив, определяющий количество значимых бит на каждый цвет и альфа-компонент
cspace - указанное ColorSpace
hasAlpha - true, если альфа-информация присутствует; false в противном случае
isAlphaPremultiplied - true, если цветовые образцы предполагается умножить на альфа-образцы; false в противном случае
transparency - какие значения альфа могут быть представлены этим цветовым представлением
transferType - тип массива, используемого для представления значений пикселей
Исключения:
IllegalArgumentException - если длина массива bit меньше числа цветовых или альфа-компонентов в этом ColorModel, или если прозрачность не является допустимым значением.
IllegalArgumentException - если сумма количества бит в bits меньше 1 или если любой из элементов в bits меньше 0.
См. также:
Transparency

Методы

getRGBdefault

public static ColorModel getRGBdefault()

Возвращает объект, описывающий стандартный формат целочисленных значений RGB, используемых во многих методах интерфейсов изображений AWT для удобства программиста. Пространство цветов — стандартное ColorSpace, sRGB. Формат значений RGB — целое число с 8 битами каждый для альфа-, красного, зелёного и синего цветовых компонентов, упорядоченных соответственно от старшего байта к младшему, как в: 0xAARRGGBB. Цветовые компоненты не умножаются на альфа-компонент. Данный формат не обязательно представляет собой родной или наиболее эффективный ColorModel для конкретного устройства или для всех изображений. Он просто используется как общий формат цветовой модели.

Возвращает:
объект DirectColorModel, описывающий значения по умолчанию для RGB.

hasAlpha

public final boolean hasAlpha()

Возвращает, поддерживается ли альфа-канал в этом ColorModel.

Возвращает:
true, если альфа-канал поддерживается в этом ColorModel; false в противном случае.

isAlphaPremultiplied

public final boolean isAlphaPremultiplied()

Возвращает, умножены ли альфа-значения на пиксельные значения, которые будут преобразованы этим ColorModel. Если значение логическое true, это ColorModel используется для интерпретации пиксельных значений, в которых цветовая и альфа-информация представлены как отдельные пространственные каналы, и предполагается, что цветовые образцы были умножены на альфа-образец.

Возвращает:
true, если альфа-значения умножены на пиксельные значения, которые будут преобразованы этим ColorModel; false в противном случае.

getTransferType

public final int getTransferType()

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

Возвращает:
тип преобразования.
С:
1.3

getPixelSize

public int getPixelSize()

Возвращает количество бит на пиксель, описанное этим ColorModel.

Возвращает:
количество бит на пиксель.

getComponentSize

public int getComponentSize(int componentIdx)

Возвращает количество бит для указанного цветового/альфа-компонента. Цветовые компоненты индексируются в порядке, заданном ColorSpace. Обычно этот порядок отражает имя типа цветового пространства. Например, для TYPE_RGB индекс 0 соответствует красному, индекс 1 — зелёному, а индекс 2 — синему. Если это ColorModel поддерживает альфа-канал, альфа-компонент соответствует индексу, следующему за последним цветовым компонентом.

Параметры:
componentIdx — индекс цветового/альфа-компонента
Возвращает:
количество бит для цветового/альфа-компонента в указанном индексе.
Исключение:
ArrayIndexOutOfBoundsException — если componentIdx больше, чем количество компонентов, или меньше нуля
NullPointerException — если массив бит null

getComponentSize

public int[] getComponentSize()

Возвращает массив количества бит на каждый цветовой/альфа-компонент. Массив содержит цветовые компоненты в порядке, заданном ColorSpace, а затем альфа-компонент, если он присутствует.

Возвращает:
массив количества бит на каждый цветовой/альфа-компонент

getTransparency

public int getTransparency()

Возвращает прозрачность. Возвращает OPAQUE, BITMASK или TRANSLUCENT.

Задано в:
getTransparency в интерфейсе Transparency
Возвращает:
прозрачность этого ColorModel.
См. также:
Transparency.OPAQUE, Transparency.BITMASK, Transparency.TRANSLUCENT

getNumComponents

public int getNumComponents()

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

Возвращает:
количество компонентов в этом ColorModel

getNumColorComponents

public int getNumColorComponents()

Возвращает количество цветовых компонентов в этом ColorModel. Это количество компонентов, возвращаемое ColorSpace.getNumComponents().

Возвращает:
количество цветовых компонентов в этом ColorModel.
См. также:
ColorSpace.getNumComponents()

getRed

public abstract int getRed(int pixel)

Возвращает красный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. Необходимое преобразование цвета выполняется при необходимости. Значение пикселя задаётся как целое число. Бросает IllegalArgumentException, если пиксельные значения для этого ColorModel не могут быть удобно представлены как одно целое число. Возвращаемое значение не является предварительно умноженным. Например, если альфа-канал предварительно умножен, этот метод делит его перед возвращением значения. Если значение альфа-канала равно 0, значение красного цвета равно 0.

Параметры:
pixel — указанный пиксель
Возвращает:
значение красного компонента указанного пикселя.

getGreen

public abstract int getGreen(int pixel)

Возвращает зелёный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. Необходимое преобразование цвета выполняется при необходимости. Значение пикселя задаётся как целое число. Бросает IllegalArgumentException, если пиксельные значения для этого ColorModel не могут быть удобно представлены как одно целое число. Возвращаемое значение не предварительно умножено. Например, если альфа-канал предварительно умножен, этот метод делит его перед возвращением значения. Если значение альфа-канала равно 0, значение зелёного цвета равно 0.

Параметры:
pixel — указанный пиксель
Возвращает:
значение зелёного компонента указанного пикселя.

getBlue

public abstract int getBlue(int pixel)

Возвращает синий цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. Необходимое преобразование цвета выполняется при необходимости. Значение пикселя задаётся как целое число. Бросает IllegalArgumentException, если пиксельные значения для этого ColorModel не могут быть удобно представлены как одно целое число. Возвращаемое значение не предварительно умножено, например, если альфа-канал предварительно умножен, этот метод делит его перед возвращением значения. Если значение альфа-канала равно 0, значение синего цвета равно 0.

Параметры:
pixel — указанный пиксель
Возвращает:
значение синего компонента указанного пикселя.

getAlpha

public abstract int getAlpha(int pixel)

Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. Значение пикселя задаётся как целое число. Бросает IllegalArgumentException, если пиксельные значения для этого ColorModel не могут быть удобно представлены как одно целое число.

Параметры:
pixel — указанный пиксель
Возвращает:
значение альфа-компонента указанного пикселя.

getRGB

public int getRGB(int pixel)

Возвращает цветовые/альфа-компоненты пикселя в формате стандартной цветовой модели RGB. Необходимое преобразование цвета выполняется при необходимости. Значение пикселя задаётся как целое число. Бросает IllegalArgumentException, если пиксельные значения для этого ColorModel не могут быть удобно представлены как одно целое число. Возвращаемое значение имеет не предварительно умноженный формат. Например, если альфа-канал предварительно умножен, этот метод делит его из цветовых компонентов. Если значение альфа-канала равно 0, цветовые значения равны 0.

Параметры:
pixel — указанный пиксель
Возвращает:
значение RGB цветовых/альфа-компонентов указанного пикселя.
См. также:
getRGBdefault()

getRed

public int getRed(Object inData)

Возвращает красный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. Необходимое преобразование цвета выполняется при необходимости. Значение пикселя задаётся массивом элементов данных типа transferType, переданным как ссылка на объект. Возвращаемое значение не предварительно умножено. Например, если альфа-канал предварительно умножен, этот метод делит его перед возвращением значения. Если значение альфа-канала равно 0, значение красного цвета равно 0. Если inData не является примитивным массивом типа transferType, бросается ClassCastException. Бросается ArrayIndexOutOfBoundsException, если inData недостаточно велик для хранения значения пикселя для этого ColorModel. Если это transferType не поддерживается, бросится UnsupportedOperationException. Поскольку ColorModel является абстрактным классом, любой экземпляр должен быть экземпляром подкласса. Подклассы наследуют реализацию этого метода, и если они его не переопределяют, этот метод выбрасывает исключение, если подкласс использует transferType, отличный от DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT.

Параметры:
inData — массив пиксельных значений
Возвращает:
значение красного компонента указанного пикселя.
Исключение:
ClassCastException — если inData не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException — если inData недостаточно велик для хранения значения пикселя для этого ColorModel
UnsupportedOperationException — если это transferType не поддерживается этим ColorModel

getGreen

public int getGreen(Object inData)

Возвращает зелёную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB ColorSpace, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Возвращаемое значение не является предопределённым. Например, если альфа-канал предопределён, этот метод делит его до возвращения значения. Если значение альфа-канала равно 0, значение зелёной компоненты равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Выбрасывается исключение ArrayIndexOutOfBoundsException, если inData недостаточно велик для хранения значения пикселя для этого ColorModel. Если этот transferType не поддерживается, выбрасывается исключение UnsupportedOperationException. Поскольку ColorModel является абстрактным классом, любой экземпляр должен быть экземпляром подкласса. Подклассы наследуют реализацию этого метода, и если они его не переопределяют, этот метод выбрасывает исключение, если подкласс использует тип transferType, отличный от DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT.

Параметры:
inData - массив значений пикселей
Возвращает:
значение зелёной компоненты указанного пикселя.
Исключения:
ClassCastException - если inData не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если inData недостаточно велик для хранения значения пикселя для этого ColorModel
UnsupportedOperationException - если этот transferType не поддерживается данным ColorModel

getBlue

public int getBlue(Object inData)

Возвращает синюю компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB ColorSpace, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Возвращаемое значение не является предопределённым. Например, если альфа-канал предопределён, этот метод делит его до возвращения значения. Если значение альфа-канала равно 0, значение синей компоненты равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Выбрасывается исключение ArrayIndexOutOfBoundsException, если inData недостаточно велик для хранения значения пикселя для этого ColorModel. Если этот transferType не поддерживается, выбрасывается исключение UnsupportedOperationException. Поскольку ColorModel является абстрактным классом, любой экземпляр должен быть экземпляром подкласса. Подклассы наследуют реализацию этого метода, и если они его не переопределяют, этот метод выбрасывает исключение, если подкласс использует тип transferType, отличный от DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT.

Параметры:
inData - массив значений пикселей
Возвращает:
значение синей компоненты указанного пикселя.
Исключения:
ClassCastException - если inData не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если inData недостаточно велик для хранения значения пикселя для этого ColorModel
UnsupportedOperationException - если этот transferType не поддерживается данным ColorModel

getAlpha

public int getAlpha(Object inData)

Возвращает альфа-компоненту для указанного пикселя, масштабированную от 0 до 255. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Если inData не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Выбрасывается исключение ArrayIndexOutOfBoundsException, если inData недостаточно велик для хранения значения пикселя для этого ColorModel. Если этот transferType не поддерживается, выбрасывается исключение UnsupportedOperationException. Поскольку ColorModel является абстрактным классом, любой экземпляр должен быть экземпляром подкласса. Подклассы наследуют реализацию этого метода, и если они его не переопределяют, этот метод выбрасывает исключение, если подкласс использует тип transferType, отличный от DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT.

Параметры:
inData - указанный пиксель
Возвращает:
альфа-компонента указанного пикселя, масштабированная от 0 до 255.
Исключения:
ClassCastException - если inData не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если inData недостаточно велик для хранения значения пикселя для этого ColorModel
UnsupportedOperationException - если этот tranferType не поддерживается данным ColorModel

getRGB

public int getRGB(Object inData)

Возвращает компоненты цвета/альфа указанного пикселя в формате стандартной цветовой модели RGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Если inData не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Выбрасывается исключение ArrayIndexOutOfBoundsException, если inData недостаточно велик для хранения значения пикселя для этого ColorModel. Возвращаемое значение будет в формате без предварительной умножения, т.е. если альфа-канал предопределён, этот метод разделит его от компонент цвета (если значение альфа-канала равно 0, значения цветов будут 0).

Параметры:
inData - указанный пиксель
Возвращает:
компоненты цвета и альфа указанного пикселя.
См. также:
getRGBdefault()

getDataElements

public Object getDataElements(int rgb,
                              Object pixel)

Возвращает массив элементов данных, представляющий пиксель в этом ColorModel, исходя из целого представления пикселя в стандартной цветовой модели RGB. Этот массив затем можно передать методу WritableRaster.setDataElements(int, int, java.lang.Object) объекта WritableRaster. Если переменная пикселя null, будет выделен новый массив. Если pixel не null, он должен быть примитивным массивом типа transferType; в противном случае, выбрасывается исключение ClassCastException. Выбрасывается исключение ArrayIndexOutOfBoundsException, если pixel недостаточно велик для хранения значения пикселя для этого ColorModel. Возвращается массив пикселей. Если этот transferType не поддерживается, выбрасывается исключение UnsupportedOperationException. Поскольку ColorModel является абстрактным классом, любой экземпляр — это экземпляр подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.

Параметры:
rgb - целое представление пикселя в стандартной цветовой модели RGB
pixel - указанный пиксель
Возвращает:
массив, представляющий указанный пиксель в этом ColorModel.
Исключения:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для этого ColorModel
UnsupportedOperationException - если этот метод не поддерживается данным ColorModel
См. также:
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. Значение пикселя задаётся как int. Выбрасывается исключение IllegalArgumentException, если значения пикселей для этого ColorModel не удобно представляются как единый int или если значения компонент цвета для этого ColorModel не удобно представляются в ненормализованной форме. Например, этот метод может использоваться для получения компонент для определённого значения пикселя в DirectColorModel. Если массив компонент null, будет выделен новый массив. Массив компонент будет возвращён. Компоненты цвета/альфа хранятся в массиве компонент, начиная с offset (даже если массив выделен этим методом). Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив компонент не null и не достаточно велик для хранения всех компонент цвета и альфа (начиная с смещения). Поскольку ColorModel является абстрактным классом, любой экземпляр — это экземпляр подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.

Параметры:
pixel - указанный пиксель
components - массив для получения компонент цвета и альфа указанного пикселя
offset - смещение в массиве components, с которого начинать хранение компонент цвета и альфа
Возвращает:
массив, содержащий компоненты цвета и альфа указанного пикселя, начиная со заданного смещения.
Исключения:
UnsupportedOperationException - если этот метод не поддерживается данным ColorModel

getComponents

public int[] getComponents(Object pixel,
                           int[] components,
                           int offset)

Возвращает массив ненормализованных цветовых/альфа-компонентов, заданных пикселем в этом ColorModel. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Если pixel не является примитивным массивом типа transferType, выбрасывается ClassCastException. Будет выброшено исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме. Выбрасывается исключение ArrayIndexOutOfBoundsException, если pixel недостаточно велико для хранения значения пикселя для этого ColorModel. Этот метод может использоваться для извлечения компонентов для определённого значения пикселя в любом ColorModel. Если массив components пустой, будет выделен новый массив. Будет возвращён массив components. Цветовые/альфа-компоненты хранятся в массиве components, начиная с offset (даже если массив выделяется этим методом). Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив components не пустой и недостаточно велик для хранения всех цветовых и альфа-компонентов (начиная с позиции offset). Поскольку ColorModel — это абстрактный класс, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.

Parameters:
pixel - заданный пиксель
components - массив, принимающий цветовые и альфа-компоненты заданного пикселя
offset - индекс в массиве components, с которого начинать хранение цветовых и альфа-компонентов заданного пикселя
Returns:
массив, содержащий цветовые и альфа-компоненты заданного пикселя, начиная с указанного смещения.
Throws:
UnsupportedOperationException - если этот метод не поддерживается данным ColorModel

getUnnormalizedComponents

public int[] getUnnormalizedComponents(float[] normComponents,
                                       int normOffset,
                                       int[] components,
                                       int offset)

Возвращает массив всех цветовых/альфа-компонентов в ненормализованной форме, исходя из массива нормализованных компонентов. Ненормализованные компоненты — это целые значения без знака от 0 до 2n - 1, где n — количество бит для конкретного компонента. Нормализованные компоненты — это значения с плавающей точкой от минимального до максимального значения, заданного объектом ColorSpace для этого ColorModel. Будет выброшено исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме. Если массив components пуст, будет выделен новый массив. Будет возвращён массив components. Цветовые/альфа-компоненты хранятся в массиве components, начиная с позиции offset (даже если массив выделяется этим методом). Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив components не пустой и недостаточно велик для хранения всех цветовых и альфа-компонентов (начиная с позиции offset). Выбрасывается исключение IllegalArgumentException, если массив normComponents недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с позиции normOffset.

Parameters:
normComponents - массив, содержащий нормализованные компоненты
normOffset - смещение в массиве normComponents, с которого начинать извлечение нормализованных компонентов
components - массив, принимающий компоненты из normComponents
offset - индекс в components, с которого начинать хранение нормализованных компонентов из normComponents
Returns:
массив, содержащий ненормализованные цветовые и альфа-компоненты.
Throws:
IllegalArgumentException - Если значения компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме.
IllegalArgumentException - если длина normComponents минус normOffset меньше чем numComponents
UnsupportedOperationException - если конструктор этого ColorModel вызвал конструктор super(bits), но не переопределил этот метод. См. конструктор ColorModel(int).

getNormalizedComponents

public float[] getNormalizedComponents(int[] components,
                                       int offset,
                                       float[] normComponents,
                                       int normOffset)

Возвращает массив всех цветовых/альфа-компонентов в нормализованной форме, исходя из массива ненормализованных компонентов. Ненормализованные компоненты — это целые значения без знака от 0 до 2n - 1, где n — количество бит для конкретного компонента. Нормализованные компоненты — это значения с плавающей точкой от минимального до максимального значения, заданного объектом ColorSpace для этого ColorModel. Будет выброшено исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме. Если массив normComponents пуст, будет выделен новый массив. Будет возвращён массив normComponents. Цветовые/альфа-компоненты хранятся в массиве normComponents, начиная с позиции normOffset (даже если массив выделяется этим методом). Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив normComponents не пустой и недостаточно велик для хранения всех цветовых и альфа-компонентов (начиная с позиции normOffset). Выбрасывается исключение IllegalArgumentException, если массив components недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с позиции offset.

Поскольку ColorModel — это абстрактный класс, любой экземпляр является экземпляром подкласса. По умолчанию реализация этого метода в этом абстрактном классе предполагает, что значения компонентов для этого класса могут быть удобно представлены в ненормализованной форме. Следовательно, подклассы, у которых могут быть экземпляры, которые не поддерживают ненормализованную форму, должны переопределить этот метод.

Parameters:
components - массив, содержащий ненормализованные компоненты
offset - смещение в массиве components, с которого начинать извлечение ненормализованных компонентов
normComponents - массив, принимающий нормализованные компоненты
normOffset - индекс в normComponents, с которого начинать хранение нормализованных компонентов
Returns:
массив, содержащий нормализованные цветовые и альфа-компоненты.
Throws:
IllegalArgumentException - Если значения компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме.
UnsupportedOperationException - если конструктор этого ColorModel вызвал конструктор super(bits), но не переопределил этот метод. См. конструктор ColorModel(int).
UnsupportedOperationException - если этот метод не может определить количество бит на компонент

getDataElement

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

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

Parameters:
components - массив ненормализованных цветовых и альфа-компонентов
offset - индекс в components, с которого начинать извлечение цветовых и альфа-компонентов
Returns:
значение пикселя int в этом ColorModel, соответствующее указанным компонентам.
Throws:
IllegalArgumentException - если значения пикселей для этого ColorModel не могут быть удобно представлены как одно int
IllegalArgumentException - если значения компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме
ArrayIndexOutOfBoundsException - если массив components недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с позиции offset
UnsupportedOperationException - если этот метод не поддерживается данным ColorModel

getDataElements

public Object getDataElements(int[] components,
                              int offset,
                              Object obj)

Возвращает массив данных, представляющий пиксель в этом ColorModel, исходя из массива ненормализованных цветовых/альфа-компонентов. Этот массив можно затем передать методу setDataElements объекта WritableRaster. Этот метод выбросит исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме. Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех цветовых и альфа-компонентов (начиная с позиции offset). Если переменная obj пуста, будет выделен новый массив. Если obj не является null, то он должен быть примитивным массивом типа transferType, в противном случае выбрасывается ClassCastException. Исключение ArrayIndexOutOfBoundsException выбрасывается, если obj недостаточно велико для хранения значения пикселя для этого ColorModel. Поскольку ColorModel — это абстрактный класс, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.

Параметры:
components - массив ненормализованных компонентов цвета и альфа-канала
offset - индекс в components, с которого начинать извлечение компонентов цвета и альфа-канала
obj - Object, представляющий массив компонентов цвета и альфа-канала
Возвращает:
Object, представляющий массив компонентов цвета и альфа-канала.
Исключения:
ClassCastException - если obj не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если obj недостаточно велик для хранения значения пикселя для данного ColorModel или массив components недостаточно велик для хранения всех компонентов цвета и альфа-канала, начиная с индекса offset
IllegalArgumentException - если значения компонентов для данного ColorModel не могут быть удобно представлены в ненормализованной форме
UnsupportedOperationException - если этот метод не поддерживается данным ColorModel
См. также:
WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

getDataElement

public int getDataElement(float[] normComponents,
                          int normOffset)

Возвращает значение пикселя, представленное как int в данном ColorModel, на основе массива нормализованных компонентов цвета/альфа-канала. Этот метод выбросит исключение IllegalArgumentException, если значения пикселей для этого ColorModel не могут быть удобно представлены как одно int. Исключение ArrayIndexOutOfBoundsException выбрасывается, если массив normComponents недостаточно велик для хранения всех компонентов цвета и альфа-канала (начиная с индекса normOffset). Так как ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. По умолчанию этот метод в абстрактном классе сначала преобразует значения из нормализованной формы в ненормализованную, а затем вызывает getDataElement(int[], int). Подклассы, экземпляры которых могут не поддерживать ненормализованную форму, должны переопределить этот метод.

Параметры:
normComponents - массив нормализованных компонентов цвета и альфа-канала
normOffset - индекс в normComponents, с которого начинать извлечение компонентов цвета и альфа-канала
Возвращает:
значение пикселя int в данном ColorModel, соответствующее указанным компонентам.
Исключения:
IllegalArgumentException - если значения пикселей для данного ColorModel не могут быть удобно представлены как одно int
ArrayIndexOutOfBoundsException - если массив normComponents недостаточно велик для хранения всех компонентов цвета и альфа-канала, начиная с индекса normOffset
С:
1.4

getDataElements

public Object getDataElements(float[] normComponents,
                              int normOffset,
                              Object obj)

Возвращает массив данных, представляющий пиксель в этом ColorModel, на основе массива нормализованных компонентов цвета/альфа-канала. Этот массив затем можно передать в метод setDataElements объекта WritableRaster. Исключение ArrayIndexOutOfBoundsException выбрасывается, если массив normComponents недостаточно велик для хранения всех компонентов цвета и альфа-канала (начиная с индекса normOffset). Если переменная obj равна null, будет выделен новый массив. Если obj не равен null, он должен быть примитивным массивом типа transferType; в противном случае выбрасывается исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException выбрасывается, если obj недостаточно велик для хранения значения пикселя для данного ColorModel. Так как ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. По умолчанию этот метод в абстрактном классе сначала преобразует значения из нормализованной формы в ненормализованную, а затем вызывает getDataElement(int[], int, Object). Подклассы, экземпляры которых могут не поддерживать ненормализованную форму, должны переопределить этот метод.

Параметры:
normComponents - массив нормализованных компонентов цвета и альфа-канала
normOffset - индекс в normComponents, с которого начинать извлечение компонентов цвета и альфа-канала
obj - примитивный массив данных для хранения возвращаемого пикселя
Возвращает:
Object, который является примитивным массивом данных, представляющим пиксель
Исключения:
ClassCastException - если obj не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если obj недостаточно велик для хранения значения пикселя для данного ColorModel или массив normComponents недостаточно велик для хранения всех компонентов цвета и альфа-канала, начиная с индекса normOffset
С:
1.4
См. также:
WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

getNormalizedComponents

public float[] getNormalizedComponents(Object pixel,
                                       float[] normComponents,
                                       int normOffset)

Возвращает массив всех компонентов цвета/альфа-канала в нормализованной форме, задавая пиксель в этом ColorModel. Значение пикселя задается массивом элементов данных типа transferType, переданным как ссылка на объект. Если pixel не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException выбрасывается, если pixel недостаточно велик для хранения значения пикселя для данного ColorModel. Нормализованные компоненты являются значениями типа float, находящимися между минимальным и максимальным значениями для каждого компонента, заданными объектом ColorSpace для данного ColorModel. Если массив normComponents равен null, будет выделен новый массив. Массив normComponents будет возвращён. Компоненты цвета/альфа-канала хранятся в массиве normComponents, начиная с индекса normOffset (даже если массив выделен этим методом). Исключение ArrayIndexOutOfBoundsException выбрасывается, если массив normComponents не равен null и недостаточно велик для хранения всех компонентов цвета и альфа-канала, начиная с индекса normOffset. Так как ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. По умолчанию этот метод в абстрактном классе сначала извлекает компоненты цвета и альфа-канала в ненормализованной форме с помощью getComponents(Object, int[], int), а затем вызывает getNormalizedComponents(int[], int, float[], int). Подклассы, экземпляры которых могут не поддерживать ненормализованную форму, должны переопределить этот метод.

Параметры:
pixel - указанный пиксель
normComponents - массив для получения нормализованных компонентов
normOffset - смещение в массиве normComponents, с которого начинать хранение нормализованных компонентов
Возвращает:
массив, содержащий нормализованные компоненты цвета и альфа-канала.
Исключения:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если normComponents недостаточно велик для хранения всех компонентов цвета и альфа-канала, начиная с индекса normOffset
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для данного ColorModel.
UnsupportedOperationException - если конструктор этого ColorModel вызвал конструктор super(bits), но не переопределил этот метод. См. конструктор ColorModel(int).
UnsupportedOperationException - если этот метод не может определить количество бит на компонент
С:
1.4

equals

public boolean equals(Object obj)

Этот метод просто делегирует выполнение стандартной реализации в Object, что идентично проверке на равенство ==, так как этот класс не может обеспечить корректную проверку на равенство для различных подклассов. Подклассы рекомендуются переопределить этот метод и предоставить проверку на равенство для собственных свойств, в дополнение к проверкам на равенство следующих общих базовых свойств ColorModel:

  • Поддержка компонента альфа-канала.
  • Альфа-компоненты преумножены.
  • Количество бит на пиксель.
  • Тип прозрачности (Непрозрачный, Маска или Полупрозрачный).
  • Количество компонентов в пикселе.
  • ColorSpace тип.
  • Тип массива, используемого для представления значений пикселей.
  • Количество значащих бит на компонент цвета и альфа-канала.

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

hashCode

public int hashCode()

Этот метод просто делегирует выполнение стандартной реализации в Object, которая возвращает системный идентификатор класса. Подклассы рекомендуются переопределить этот метод и предоставить хэш для собственных свойств, в дополнение к хэшированию значений следующих общих базовых свойств ColorModel:

  • Поддержка компонента альфа-канала.
  • Альфа-компоненты преумножены.
  • Количество бит на пиксель.
  • Тип прозрачности (Непрозрачный, Маска или Полупрозрачный).
  • Количество компонентов в пикселе.
  • ColorSpace тип.
  • Тип массива, используемого для представления значений пикселей.
  • Количество значащих бит на компонент цвета и альфа-канала.

Переопределяет:
hashCode в классе Object
Возвращает:
значение хэша для этого объекта.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

getColorSpace

public final ColorSpace getColorSpace()

Возвращает ColorSpace, связанный с этим ColorModel.

Возвращает:
ColorSpace этого ColorModel.

coerceData

public ColorModel coerceData(WritableRaster raster,
                             boolean isAlphaPremultiplied)

Принудительно приводит данные растрового изображения к состоянию, указанному в переменной isAlphaPremultiplied, предполагая, что данные в настоящее время корректно описываются этой переменной ColorModel. Может умножить или разделить данные цветового растра на альфа-канал, или ничего не делать, если данные находятся в правильном состоянии. Если данные требуют приведения к нужному виду, этот метод также вернёт экземпляр этого класса ColorModel с соответствующим флагом isAlphaPremultiplied. Этот метод выбросит исключение UnsupportedOperationException, если он не поддерживается этим классом ColorModel. Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.

Параметры:
raster - данные WritableRaster
isAlphaPremultiplied - значение true, если альфа-канал предварительно умножен; false в противном случае
Возвращает:
объект ColorModel, представляющий преобразованные данные.

isCompatibleRaster

public boolean isCompatibleRaster(Raster raster)

Возвращает true, если raster совместим с этим классом ColorModel и false, если нет. Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.

Параметры:
raster - объект Raster для проверки совместимости
Возвращает:
true, если raster совместим с этим классом ColorModel.
Исключения:
UnsupportedOperationException - если этот метод не реализован для этого класса ColorModel

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster(int w,
                                                     int h)

Создаёт WritableRaster с заданной шириной и высотой, имеющий структуру данных (SampleModel), совместимую с этим классом ColorModel. Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.

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

createCompatibleSampleModel

public SampleModel createCompatibleSampleModel(int w,
                                               int h)

Создаёт SampleModel с заданной шириной и высотой, имеющий структуру данных, совместимую с этим классом ColorModel. Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.

Параметры:
w - ширина для нового SampleModel
h - высота для нового SampleModel
Возвращает:
объект SampleModel с указанной шириной и высотой.
Исключения:
UnsupportedOperationException - если этот метод не поддерживается этим классом ColorModel
См. также:
SampleModel

isCompatibleSampleModel

public boolean isCompatibleSampleModel(SampleModel sm)

Проверяет, совместим ли SampleModel с этим классом ColorModel. Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.

Параметры:
sm - заданный SampleModel
Возвращает:
true, если указанный SampleModel совместим с этим классом ColorModel; false в противном случае.
Исключения:
UnsupportedOperationException - если этот метод не поддерживается этим классом ColorModel
См. также:
SampleModel

finalize

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

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

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

getAlphaRaster

public WritableRaster getAlphaRaster(WritableRaster raster)

Возвращает Raster, представляющий альфа-канал изображения, извлечённый из входного Raster, при условии, что значения пикселей в этом ColorModel представляют цвет и альфа-информацию как отдельные пространственные полосы (например, ComponentColorModel и DirectColorModel). Этот метод предполагает, что объекты Raster, связанные с таким ColorModel, хранят альфа-полосу, если она есть, как последнюю полосу данных изображения. Возвращает null, если нет отдельного пространственного альфа-канала, связанного с этим ColorModel. Если это IndexColorModel, у которого альфа-канал в таблице поиска, этот метод вернёт null, так как нет пространственно дискретного альфа-канала. Этот метод создаст новый Raster (но будет использовать тот же массив данных). Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, чтобы получить любое поведение, отличное от возвращения null, так как реализация в этом абстрактном классе возвращает null.

Параметры:
raster - заданный Raster
Возвращает:
Raster, представляющий альфа-канал изображения, полученный из указанного Raster.

toString

public String toString()

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

Переопределяет:
toString в классе Object
Возвращает:
строковое представление содержимого этого объекта 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/image/ColorModel.html

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