Spec-Zone.ru › OpenJDK 27

Класс ColorModel

java.lang.Object
java.awt.image.ColorModel
Все реализуемые интерфейсы:
Transparency
Прямые известные подклассы:
ComponentColorModel, IndexColorModel, PackedColorModel
public abstract class ColorModel extends Object implements Transparency
Абстрактный класс ColorModel инкапсулирует методы преобразования значения пикселя в компоненты цвета (например, красную, зелёную и синюю) и альфа-компоненту. Чтобы вывести изображение на экран, принтер или другое изображение, значения пикселей необходимо преобразовать в компоненты цвета и альфа-компоненту. В качестве аргументов или возвращаемых значений методов этого класса пиксели представляются 32-разрядными значениями int или массивами примитивных типов. Количество, порядок и интерпретация компонентов цвета для ColorModel задаются его ColorSpace. ColorModel, используемый с данными пикселей, не содержащими информацию об альфа-канале, считает все пиксели непрозрачными, то есть имеющими значение альфа-канала 1.0.

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

Объекты ColorModel, используемые с изображениями, для которых значения пикселей неудобно представить одним значением int, выбрасывают исключение IllegalArgumentException, если вызываются методы, принимающие аргумент пикселя типа int. Подклассы 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 объекта SampleModel (доступный через методы getTransferType этих классов) должен совпадать с типом передачи ColorModel. Количество элементов в массиве, представляющем пиксель для Raster и SampleModel (доступных через методы getNumDataElements этих классов), должно совпадать с количеством для ColorModel.

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

Методы класса 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
Тип данных массива, используемого для представления значений пикселей.

Поля, объявленные в интерфейсе Transparency

BITMASK, OPAQUE, TRANSLUCENT
Модификатор и тип Поле Описание
static final int BITMASK
Представляет данные изображения, для которых гарантируется, что они либо полностью непрозрачны со значением альфа-канала 1.0, либо полностью прозрачны со значением альфа-канала 0.0.
static final int OPAQUE
Представляет данные изображения, для которых гарантируется полная непрозрачность, то есть все пиксели имеют значение альфа-канала 1.0.
static final int TRANSLUCENT
Представляет данные изображения, которые содержат или могут содержать произвольные значения альфа-канала в диапазоне от 0.0 до 1.0 включительно.

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

ColorModel(int bits)
ColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
Модификатор Конструктор Описание
Создает ColorModel, преобразующую пиксели с указанным числом битов в цветовые компоненты и компоненты альфа-канала.
protected
Создает 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, которая идентична проверке ==, поскольку этот класс не может обеспечить корректную проверку равенства между несколькими независимыми ветвями подклассов.
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 в ColorSpace RGB по умолчанию, sRGB.
final 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 в ColorSpace RGB по умолчанию, 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 в ColorSpace RGB по умолчанию, sRGB.
int getRGB(int pixel)
Возвращает цветовые компоненты и компонент альфа-канала пикселя в формате цветовой модели RGB по умолчанию.
int getRGB(Object inData)
Возвращает цветовые компоненты и компонент альфа-канала для указанного пикселя в формате цветовой модели RGB по умолчанию.
static ColorModel getRGBdefault()
Возвращает DirectColorModel, описывающий формат по умолчанию для целочисленных значений RGB, используемых во многих методах интерфейсов изображений AWT для удобства программиста.
final int getTransferType()
Возвращает тип передачи данных этого ColorModel.
int getTransparency()
Возвращает прозрачность.
int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
Возвращает массив всех цветовых компонентов и компонентов альфа-канала в ненормализованной форме для заданного массива нормализованных компонентов.
final boolean hasAlpha()
Возвращает значение, указывающее, поддерживается ли альфа-канал в этом ColorModel.
int hashCode()
Этот метод просто делегирует вызов реализации по умолчанию в Object, которая возвращает системный идентификатор класса.
final boolean isAlphaPremultiplied()
Возвращает значение, указывающее, был ли альфа-канал предварительно умножен в значениях пикселей, которые преобразуются этим ColorModel.
boolean isCompatibleRaster(Raster raster)
Возвращает true, если raster совместим с этим ColorModel, и false, если нет.
boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместим ли SampleModel с этим ColorModel.
String toString()
Возвращает представление содержимого этого объекта ColorModel в формате String.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до пробуждения, обычно вследствие вызова уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до пробуждения, обычно вследствие вызова уведомления или прерывания, либо до истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до пробуждения, обычно вследствие вызова уведомления или прерывания, либо до истечения определенного промежутка реального времени.

Подробное описание полей

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 — если длина массива битов меньше количества цветовых компонент или компонент альфа-канала в этой ColorModel либо если значение прозрачности недопустимо.
IllegalArgumentException — если сумма количества битов в bits меньше 1 либо если любой элемент в bits меньше 0.
См. также:
  • Transparency

Подробное описание методов

getRGBdefault

public static ColorModel getRGBdefault()
Возвращает DirectColorModel, описывающую стандартный формат целочисленных значений 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. При необходимости выполняется преобразование цвета. Значение пикселя задается как int. Выбрасывается IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представлять одним значением int. Возвращаемое значение не является предварительно умноженным. Например, если значение альфа-канала предварительно умножено, этот метод делит на него значение перед возвратом. Если значение альфа-канала равно 0, значение красного цвета равно 0.
Параметры:
pixel — указанный пиксель
Возвращает:
значение компоненты красного цвета указанного пикселя.

getGreen

public abstract int getGreen(int pixel)
Возвращает компоненту зеленого цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB sRGB. При необходимости выполняется преобразование цвета. Значение пикселя задается как int. Выбрасывается IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представлять одним значением int. Возвращаемое значение не является предварительно умноженным. Например, если значение альфа-канала предварительно умножено, этот метод делит на него значение перед возвратом. Если значение альфа-канала равно 0, значение зеленого цвета равно 0.
Параметры:
pixel — указанный пиксель
Возвращает:
значение компоненты зеленого цвета указанного пикселя.

getBlue

public abstract int getBlue(int pixel)
Возвращает компоненту синего цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB sRGB. При необходимости выполняется преобразование цвета. Значение пикселя задается как int. Выбрасывается IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представлять одним значением int. Возвращаемое значение не является предварительно умноженным. Например, если значение альфа-канала предварительно умножено, этот метод делит на него значение перед возвратом. Если значение альфа-канала равно 0, значение синего цвета равно 0.
Параметры:
pixel — указанный пиксель
Возвращает:
значение компоненты синего цвета указанного пикселя.

getAlpha

public abstract int getAlpha(int pixel)
Возвращает компоненту альфа-канала для указанного пикселя, масштабированную от 0 до 255. Значение пикселя задается как int. Выбрасывается IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представлять одним значением int.
Параметры:
pixel — указанный пиксель
Возвращает:
значение компоненты альфа-канала указанного пикселя.

getRGB

public int getRGB(int pixel)
Возвращает цветовые компоненты и компоненту альфа-канала пикселя в стандартном формате цветовой модели RGB. При необходимости выполняется преобразование цвета. Значение пикселя задается как int. Выбрасывается IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представлять одним значением int. Возвращаемое значение имеет формат без предварительного умножения. Например, если значение альфа-канала предварительно умножено, этот метод делит на него значения цветовых компонент. Если значение альфа-канала равно 0, значения цвета равны 0.
Параметры:
pixel — указанный пиксель
Возвращает:
значение RGB цветовых компонент и компоненты альфа-канала указанного пикселя.
См. также:
  • getRGBdefault()

getRed

public int getRed(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

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 - если этот transferType не поддерживается этим 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, Object) объекта WritableRaster. Если переменная pixel имеет значение 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, Object)
  • SampleModel.setDataElements(int, int, Object, DataBuffer)

getComponents

public int[] getComponents(int pixel, int[] components, int offset)
Возвращает массив ненормированных компонентов цвета и альфа-канала для пикселя в этом ColorModel. Значение пикселя задается как int. IllegalArgumentException будет выброшен, если значения пикселей для этого ColorModel нельзя удобно представить одним int или если значения цветовых компонентов для этого ColorModel нельзя удобно представить в ненормированной форме. Например, этот метод можно использовать для получения компонентов конкретного значения пикселя в DirectColorModel. Если массив components равен null, будет выделен новый массив. Массив components будет возвращен. Компоненты цвета и альфа-канала записываются в массив components начиная с offset (даже если массив выделяется этим методом). ArrayIndexOutOfBoundsException выбрасывается, если массив components не равен 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 равен null, будет выделен новый массив. Массив components будет возвращен. Компоненты цвета и альфа-канала записываются в массив components начиная с offset (даже если массив выделяется этим методом). ArrayIndexOutOfBoundsException выбрасывается, если массив components не равен null и недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала (начиная с offset). Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределять этот метод, поскольку реализация в этом абстрактном классе выбрасывает UnsupportedOperationException.
Параметры:
pixel - указанный пиксель
components - массив, в который записываются компоненты цвета и альфа-канала указанного пикселя
offset - индекс в массиве components, с которого начинается запись компонентов цвета и альфа-канала указанного пикселя
Возвращает:
массив, содержащий компоненты цвета и альфа-канала указанного пикселя, начиная с указанного смещения.
Выбрасывает:
UnsupportedOperationException - если этот метод не поддерживается этим ColorModel

getUnnormalizedComponents

public int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
Возвращает массив всех компонентов цвета/альфа-канала в ненормализованной форме на основе массива нормализованных компонентов. Ненормализованные компоненты — это беззнаковые целочисленные значения от 0 до 2n - 1, где n — количество битов для конкретного компонента. Нормализованные компоненты — это значения с плавающей точкой, лежащие между минимумом и максимумом для каждого компонента, заданными объектом ColorSpace для этого ColorModel. Будет выброшено исключение IllegalArgumentException, если значения компонентов цвета для этого ColorModel невозможно удобно представить в ненормализованной форме. Если массив components равен null, будет выделен новый массив. Будет возвращён массив components. Компоненты цвета/альфа-канала сохраняются в массиве components начиная с offset (даже если массив выделен этим методом). Исключение ArrayIndexOutOfBoundsException выбрасывается, если массив components не равен null и недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала (начиная с offset). Исключение IllegalArgumentException выбрасывается, если массив normComponents недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала начиная с normOffset.
Параметры:
normComponents - массив, содержащий нормализованные компоненты
normOffset - смещение в массиве normComponents, с которого начинается извлечение нормализованных компонентов
components - массив, в который помещаются компоненты из normComponents
offset - индекс в components, с которого начинается сохранение нормализованных компонентов из normComponents
Возвращает:
массив, содержащий ненормализованные компоненты цвета и альфа-канала.
Выбрасывает:
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 равен null, будет выделен новый массив. Будет возвращён массив normComponents. Компоненты цвета/альфа-канала сохраняются в массиве normComponents начиная с normOffset (даже если массив выделен этим методом). Исключение ArrayIndexOutOfBoundsException выбрасывается, если массив normComponents не равен null и недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала (начиная с normOffset). Исключение IllegalArgumentException выбрасывается, если массив components недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала начиная с offset.

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

Параметры:
components - массив, содержащий ненормализованные компоненты
offset - смещение в массиве components, с которого начинается извлечение ненормализованных компонентов
normComponents - массив, в который помещаются нормализованные компоненты
normOffset - индекс в normComponents, с которого начинается сохранение нормализованных компонентов
Возвращает:
массив, содержащий нормализованные компоненты цвета и альфа-канала.
Выбрасывает:
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.
Параметры:
components - массив ненормализованных компонентов цвета и альфа-канала
offset - индекс в components, с которого начинается извлечение компонентов цвета и альфа-канала
Возвращает:
значение пикселя int в этом ColorModel, соответствующее указанным компонентам.
Выбрасывает:
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 равна null, будет выделен новый массив. Если 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, Object)
  • SampleModel.setDataElements(int, int, Object, 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, Object)
  • SampleModel.setDataElements(int, int, Object, 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(Object)

getColorSpace

public final ColorSpace getColorSpace()
Возвращает ColorSpace, связанное с этим ColorModel.
Возвращает:
ColorSpace этого ColorModel.

coerceData

public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
Приводит данные растра в соответствие с состоянием, заданным переменной isAlphaPremultiplied, предполагая, что текущее описание данных корректно соответствует этому ColorModel. Метод может умножить или разделить данные цветового растра на альфа-значение либо ничего не делать, если данные уже находятся в нужном состоянии. Если данные необходимо привести к нужному состоянию, этот метод также вернет экземпляр этого ColorModel с соответствующим значением флага isAlphaPremultiplied. Если этот метод не поддерживается данным ColorModel, он выбросит UnsupportedOperationException. Поскольку 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 с заданными шириной и высотой и совместимой с этим ColorModel структурой данных (SampleModel). Поскольку 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

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()
Возвращает String-представление содержимого этого объекта ColorModel.
Переопределяет:
toString в классе Object
Возвращает:
String, представляющую содержимое этого объекта ColorModel.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

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