Spec-Zone.ru › OpenJDK 27

Класс DirectColorModel

java.lang.Object
java.awt.image.ColorModel
java.awt.image.PackedColorModel
java.awt.image.DirectColorModel
Все реализуемые интерфейсы:
Transparency
public class DirectColorModel extends PackedColorModel
Класс DirectColorModel — это класс ColorModel, который работает со значениями пикселей, представляющими информацию о цвете RGB и альфа-канале в виде отдельных отсчётов и упаковывающими все отсчёты для одного пикселя в одну величину типа int, short или byte. Этот класс можно использовать только с цветовыми пространствами типа ColorSpace.TYPE_RGB. Кроме того, для каждого компонента ColorSpace минимальное нормализованное значение компонента, получаемое с помощью метода getMinValue() класса ColorSpace, должно быть равно 0.0, а максимальное значение, получаемое с помощью метода getMaxValue(), должно быть равно 1.0 (эти минимальное и максимальное значения типичны для пространств RGB). Значения пикселей должны содержать три цветовых отсчёта и могут содержать один альфа-отсчёт. Для методов, использующих представление пикселя в виде примитивного массива типа transferType, длина массива всегда равна единице. Поддерживаются типы передачи DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT и DataBuffer.TYPE_INT. Цветовые отсчёты и отсчёты альфа-канала хранятся в единственном элементе массива в битах, указанных битовыми масками. Каждая битовая маска должна быть непрерывной, и маски не должны перекрываться. Для представления пикселя в виде одного значения int, используемого другими методами, применяются те же маски. Соответствие масок цветовым отсчётам и отсчётам альфа-канала следующее:
  • Маски идентифицируются индексами от 0 до 2, если альфа-канал отсутствует, или до 3, если он присутствует.
  • Первые три индекса относятся к цветовым отсчётам: индекс 0 соответствует красному, индекс 1 — зелёному, а индекс 2 — синему.
  • Индекс 3 соответствует отсчёту альфа-канала, если он присутствует.

При преобразовании значений пикселей в цветовые компоненты и компоненты альфа-канала для отображения или обработки каждому отсчёту соответствует одна компонента. DirectColorModel обычно используется с данными изображения, в которых для определения упакованных отсчётов применяются маски. Например, DirectColorModel можно использовать вместе с SinglePixelPackedSampleModel для создания BufferedImage. Обычно маски, используемые SampleModel и ColorModel, совпадают. Однако если они различаются, интерпретация цвета данных пикселей выполняется согласно маскам ColorModel.

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

Эта цветовая модель похожа на визуальный класс X11 TrueColor. Цветовая модель RGB по умолчанию, задаваемая методом getRGBdefault, представляет собой DirectColorModel со следующими параметрами:

Number of bits:        32
Red mask:              0x00ff0000
Green mask:            0x0000ff00
Blue mask:             0x000000ff
Alpha mask:            0xff000000
Color space:           sRGB
isAlphaPremultiplied:  False
Transparency:          Transparency.TRANSLUCENT
transferType:          DataBuffer.TYPE_INT

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

См. также:
  • ColorModel
  • ColorSpace
  • SinglePixelPackedSampleModel
  • BufferedImage
  • ColorModel.getRGBdefault()

Краткое описание полей

Поля, объявленные в классе ColorModel

pixel_bits, transferType
Модификатор и тип Поле Описание
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 включительно.

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

Конструктор Описание
DirectColorModel(int bits, int rmask, int gmask, int bmask)
Создаёт DirectColorModel с указанными масками, определяющими, какие биты представления пикселя int содержат красный, зелёный и синий цветовые отсчёты.
DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask)
Создаёт DirectColorModel с указанными масками, определяющими, какие биты представления пикселя int содержат красный, зелёный и синий цветовые отсчёты, а также отсчёт альфа-канала, если он присутствует.
DirectColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int transferType)
Создаёт DirectColorModel с указанными параметрами.

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

Модификатор и тип Метод Описание
final ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
Приводит данные растра в соответствие с состоянием, заданным переменной isAlphaPremultiplied, предполагая, что данные в данный момент корректно описываются этим ColorModel.
final WritableRaster createCompatibleWritableRaster(int w, int h)
Создаёт WritableRaster указанной ширины и высоты с расположением данных (SampleModel), совместимым с этим ColorModel.
final int getAlpha(int pixel)
Возвращает компонент альфа-канала указанного пикселя в диапазоне от 0 до 255.
int getAlpha(Object inData)
Возвращает компонент альфа-канала указанного пикселя в диапазоне от 0 до 255.
final int getAlphaMask()
Возвращает маску, указывающую, какие биты представления пикселя int содержат компонент альфа-канала.
final int getBlue(int pixel)
Возвращает компонент синего цвета указанного пикселя в диапазоне от 0 до 255 в цветовой модели RGB по умолчанию ColorSpace, sRGB.
int getBlue(Object inData)
Возвращает компонент синего цвета указанного пикселя в диапазоне от 0 до 255 в цветовой модели RGB по умолчанию ColorSpace, sRGB.
final int getBlueMask()
Возвращает маску, указывающую, какие биты представления пикселя int содержат компонент синего цвета.
final int[] getComponents(int pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых компонентов и компонентов альфа-канала для заданного пикселя этой ColorModel.
final int[] getComponents(Object pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых компонентов и компонентов альфа-канала для заданного пикселя этой ColorModel.
int getDataElement(int[] components, int offset)
Возвращает значение пикселя, представленное в виде int в этой ColorModel, для заданного массива ненормализованных цветовых компонентов и компонентов альфа-канала.
Object getDataElements(int[] components, int offset, Object obj)
Возвращает представление пикселя в виде массива элементов данных в этой ColorModel для заданного массива ненормализованных цветовых компонентов и компонентов альфа-канала.
Object getDataElements(int rgb, Object pixel)
Возвращает представление пикселя в виде массива элементов данных в этой ColorModel для заданного целочисленного представления пикселя в цветовой модели RGB по умолчанию.
final int getGreen(int pixel)
Возвращает компонент зелёного цвета указанного пикселя в диапазоне от 0 до 255 в цветовой модели RGB по умолчанию ColorSpace, sRGB.
int getGreen(Object inData)
Возвращает компонент зелёного цвета указанного пикселя в диапазоне от 0 до 255 в цветовой модели RGB по умолчанию ColorSpace, sRGB.
final int getGreenMask()
Возвращает маску, указывающую, какие биты представления пикселя int содержат компонент зелёного цвета.
final int getRed(int pixel)
Возвращает компонент красного цвета указанного пикселя в диапазоне от 0 до 255 в цветовой модели RGB по умолчанию ColorSpace, sRGB.
int getRed(Object inData)
Возвращает компонент красного цвета указанного пикселя в диапазоне от 0 до 255 в цветовой модели RGB по умолчанию ColorSpace, sRGB.
final int getRedMask()
Возвращает маску, указывающую, какие биты представления пикселя int содержат компонент красного цвета.
final int getRGB(int pixel)
Возвращает цветовые компоненты и компоненты альфа-канала пикселя в формате цветовой модели RGB по умолчанию.
int getRGB(Object inData)
Возвращает цветовые компоненты и компоненты альфа-канала указанного пикселя в формате цветовой модели RGB по умолчанию.
boolean isCompatibleRaster(Raster raster)
Возвращает true, если raster совместим с этой ColorModel, и false в противном случае.
String toString()
Возвращает String, представляющий эту DirectColorModel.

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

createCompatibleSampleModel, equals, getAlphaRaster, getMask, getMasks, hashCode, isCompatibleSampleModel
Модификатор и тип Метод Описание
SampleModel createCompatibleSampleModel(int w, int h)
Создаёт SampleModel указанной ширины и высоты с расположением данных, совместимым с этим ColorModel.
boolean equals(Object obj)
Проверяет, является ли указанный Object экземпляром PackedColorModel и равен ли он этому PackedColorModel.
WritableRaster getAlphaRaster(WritableRaster raster)
Возвращает WritableRaster, представляющий альфа-канал изображения, извлечённый из входного WritableRaster.
final int getMask(int index)
Возвращает маску, указывающую, какие биты пикселя содержат указанный цветовой отсчёт или отсчёт альфа-канала.
final int[] getMasks()
Возвращает массив масок, указывающих, какие биты пикселя содержат цветовые отсчёты и отсчёты альфа-канала.
int hashCode()
Возвращает хеш-код этой модели PackedColorModel.
boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместим ли указанный SampleModel с этой ColorModel.

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

getColorSpace, getComponentSize, getComponentSize, getDataElement, getDataElements, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, isAlphaPremultiplied
Модификатор и тип Метод Описание
final ColorSpace getColorSpace()
Возвращает ColorSpace, связанный с этой ColorModel.
int[] getComponentSize()
Возвращает массив с количеством битов на каждую цветовую компоненту или компоненту альфа-канала.
int getComponentSize(int componentIdx)
Возвращает количество битов для указанной цветовой компоненты или компоненты альфа-канала.
int getDataElement(float[] normComponents, int normOffset)
Возвращает значение пикселя, представленное в виде int в этой ColorModel, для заданного массива нормализованных цветовых компонентов и компонентов альфа-канала.
Object getDataElements(float[] normComponents, int normOffset, Object obj)
Возвращает представление пикселя в виде массива элементов данных в этой ColorModel для заданного массива нормализованных цветовых компонентов и компонентов альфа-канала.
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.
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.
final boolean isAlphaPremultiplied()
Возвращает, был ли альфа-канал предварительно умножен в значениях пикселей, преобразуемых этой ColorModel.

Методы, объявленные в классе 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()
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

DirectColorModel

public DirectColorModel(int bits, int rmask, int gmask, int bmask)
Создает DirectColorModel на основе указанных масок, которые определяют, какие биты в int представлении пикселя содержат образцы красного, зеленого и синего цветов. Поскольку значения пикселей не содержат сведений об альфа-канале, все пиксели считаются непрозрачными, то есть alpha = 1.0. Все биты в каждой маске должны быть смежными и укладываться в указанное количество младших битов int представления пикселя. ColorSpace — пространство sRGB по умолчанию. Значение прозрачности — Transparency.OPAQUE. Тип передачи — наименьший из DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT, способный вместить один пиксель.
Параметры:
bits — количество битов в значениях пикселей; например, сумма количества битов в масках.
rmask — маска, указывающая, какие биты целочисленного пикселя содержат красную компоненту
gmask — маска, указывающая, какие биты целочисленного пикселя содержат зеленую компоненту
bmask — маска, указывающая, какие биты целочисленного пикселя содержат синюю компоненту

DirectColorModel

public DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask)
Создает DirectColorModel на основе указанных масок, которые определяют, какие биты в int представлении пикселя содержат образцы красного, зеленого и синего цветов, а также образец альфа-канала, если он присутствует. Если amask равно 0, значения пикселей не содержат сведений об альфа-канале, и все пиксели считаются непрозрачными, то есть alpha = 1.0. Все биты в каждой маске должны быть смежными и укладываться в указанное количество младших битов int представления пикселя. Альфа-канал, если он присутствует, не предварительно умножен. ColorSpace — пространство sRGB по умолчанию. Значение прозрачности — Transparency.OPAQUE, если альфа-канал отсутствует, и Transparency.TRANSLUCENT в противном случае. Тип передачи — наименьший из DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT, способный вместить один пиксель.
Параметры:
bits — количество битов в значениях пикселей; например, сумма количества битов в масках.
rmask — маска, указывающая, какие биты целочисленного пикселя содержат красную компоненту
gmask — маска, указывающая, какие биты целочисленного пикселя содержат зеленую компоненту
bmask — маска, указывающая, какие биты целочисленного пикселя содержат синюю компоненту
amask — маска, указывающая, какие биты целочисленного пикселя содержат компоненту альфа-канала

DirectColorModel

public DirectColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int transferType)
Создает DirectColorModel с указанными параметрами. Цветовые компоненты задаются в указанном ColorSpace, который должен иметь тип ColorSpace.TYPE_RGB, минимальные нормализованные значения компонент должны быть равны 0.0, а максимальные — 1.0. Маски указывают, какие биты в int представлении пикселя содержат образцы красного, зеленого и синего цветов, а также образец альфа-канала, если он присутствует. Если amask равно 0, значения пикселей не содержат сведений об альфа-канале, и все пиксели считаются непрозрачными, то есть alpha = 1.0. Все биты в каждой маске должны быть смежными и укладываться в указанное количество младших битов int представления пикселя. Если альфа-канал присутствует, boolean isAlphaPremultiplied определяет, как интерпретировать образцы цвета и альфа-канала в значениях пикселей. Если boolean имеет значение true, предполагается, что образцы цвета уже умножены на образец альфа-канала. Значение прозрачности — Transparency.OPAQUE, если альфа-канал отсутствует, и Transparency.TRANSLUCENT в противном случае. Тип передачи — тип примитивного массива, используемого для представления значений пикселей; он должен быть одним из DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT.
Параметры:
space — указанное ColorSpace
bits — количество битов в значениях пикселей; например, сумма количества битов в масках.
rmask — маска, указывающая, какие биты целочисленного пикселя содержат красную компоненту
gmask — маска, указывающая, какие биты целочисленного пикселя содержат зеленую компоненту
bmask — маска, указывающая, какие биты целочисленного пикселя содержат синюю компоненту
amask — маска, указывающая, какие биты целочисленного пикселя содержат компоненту альфа-канала
isAlphaPremultiplied — true, если образцы цвета предварительно умножены на образец альфа-канала; false в противном случае
transferType — тип массива, используемого для представления значений пикселей
Исключения:
IllegalArgumentException — если space не является пространством типа TYPE_RGB или нормализованные значения минимальных/максимальных компонент не равны 0.0/1.0.

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

getRedMask

public final int getRedMask()
Возвращает маску, указывающую, какие биты в int представлении пикселя содержат красную цветовую компоненту.
Возвращает:
маску, указывающую, какие биты int представления пикселя содержат образец красного цвета.

getGreenMask

public final int getGreenMask()
Возвращает маску, указывающую, какие биты в int представлении пикселя содержат зеленую цветовую компоненту.
Возвращает:
маску, указывающую, какие биты int представления пикселя содержат образец зеленого цвета.

getBlueMask

public final int getBlueMask()
Возвращает маску, указывающую, какие биты в int представлении пикселя содержат синюю цветовую компоненту.
Возвращает:
маску, указывающую, какие биты int представления пикселя содержат образец синего цвета.

getAlphaMask

public final int getAlphaMask()
Возвращает маску, указывающую, какие биты в int представлении пикселя содержат компоненту альфа-канала.
Возвращает:
маску, указывающую, какие биты int представления пикселя содержат образец альфа-канала.

getRed

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

getGreen

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

getBlue

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

getAlpha

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

getRGB

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

getRed

public int getRed(Object inData)
Возвращает компоненту красного цвета для указанного пикселя, масштабированную от 0 до 255 в цветовом пространстве RGB по умолчанию ColorSpace, sRGB. При необходимости выполняется преобразование цвета. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит на его значение перед возвратом результата. Например, если значение альфа-канала равно 0, значение красного цвета равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. ArrayIndexOutOfBoundsException выбрасывается, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Поскольку DirectColorModel можно создавать подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType. UnsupportedOperationException выбрасывается, если эта transferType не поддерживается данной ColorModel.
Переопределяет:
getRed в классе ColorModel
Параметры:
inData — массив, содержащий значение пикселя
Возвращает:
значение компоненты красного цвета указанного пикселя.
Исключения:
ArrayIndexOutOfBoundsException — если inData недостаточно велик, чтобы вместить значение пикселя для этой цветовой модели
ClassCastException — если inData не является примитивным массивом типа transferType
UnsupportedOperationException — если эта transferType не поддерживается данной цветовой моделью

getGreen

public int getGreen(Object inData)
Возвращает компоненту зеленого цвета для указанного пикселя, масштабированную от 0 до 255 в цветовом пространстве RGB по умолчанию ColorSpace, sRGB. При необходимости выполняется преобразование цвета. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит на его значение перед возвратом результата. Например, если значение альфа-канала равно 0, значение зеленого цвета равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. ArrayIndexOutOfBoundsException выбрасывается, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Поскольку DirectColorModel можно создавать подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType. UnsupportedOperationException выбрасывается, если эта transferType не поддерживается данной ColorModel.
Переопределяет:
getGreen в классе ColorModel
Параметры:
inData — массив, содержащий значение пикселя
Возвращает:
значение компоненты зеленого цвета указанного пикселя.
Исключения:
ArrayIndexOutOfBoundsException — если inData недостаточно велик, чтобы вместить значение пикселя для этой цветовой модели
ClassCastException — если inData не является примитивным массивом типа transferType
UnsupportedOperationException — если эта transferType не поддерживается данной цветовой моделью

getBlue

public int getBlue(Object inData)
Возвращает компоненту синего цвета для указанного пикселя, масштабированную от 0 до 255 в цветовом пространстве RGB по умолчанию ColorSpace, sRGB. При необходимости выполняется преобразование цвета. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит на его значение перед возвратом результата. Например, если значение альфа-канала равно 0, значение синего цвета равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. ArrayIndexOutOfBoundsException выбрасывается, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Поскольку DirectColorModel можно создавать подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType. UnsupportedOperationException выбрасывается, если эта transferType не поддерживается данной ColorModel.
Переопределяет:
getBlue в классе ColorModel
Параметры:
inData — массив, содержащий значение пикселя
Возвращает:
значение компоненты синего цвета указанного пикселя.
Исключения:
ArrayIndexOutOfBoundsException — если inData недостаточно велик, чтобы вместить значение пикселя для этой цветовой модели
ClassCastException — если inData не является примитивным массивом типа transferType
UnsupportedOperationException — если эта transferType не поддерживается данной цветовой моделью

getAlpha

public int getAlpha(Object inData)
Возвращает компоненту альфа-канала указанного пикселя, масштабированную от 0 до 255. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. ArrayIndexOutOfBoundsException выбрасывается, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Поскольку DirectColorModel можно создавать подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType. Если эта transferType не поддерживается, выбрасывается UnsupportedOperationException.
Переопределяет:
getAlpha в классе ColorModel
Параметры:
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. Поскольку DirectColorModel можно создавать подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType.
Переопределяет:
getRGB в классе ColorModel
Параметры:
inData — указанный пиксель
Возвращает:
цветовые компоненты и компоненту альфа-канала указанного пикселя.
Исключения:
UnsupportedOperationException — если эта transferType не поддерживается данной ColorModel
См. также:
  • ColorModel.getRGBdefault()

getDataElements

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

getComponents

public final int[] getComponents(int pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых компонент и компоненты альфа-канала для пикселя в этой ColorModel. Значение пикселя задается как int. Если массив components имеет значение null, выделяется новый массив. Возвращается массив components. Цветовые компоненты и компонента альфа-канала сохраняются в массиве components, начиная с позиции offset, даже если массив выделяется этим методом. Выбрасывается ArrayIndexOutOfBoundsException, если массив components не имеет значения null и недостаточно велик для хранения всех цветовых компонент и компоненты альфа-канала, начиная с позиции offset.
Переопределяет:
getComponents в классе ColorModel
Параметры:
pixel — указанный пиксель
components — массив для получения цветовых компонент и компоненты альфа-канала указанного пикселя
offset — смещение в массиве components, с которого следует начать сохранение цветовых компонент и компоненты альфа-канала
Возвращает:
массив, содержащий цветовые компоненты и компоненту альфа-канала указанного пикселя, начиная с заданного смещения.

getComponents

public final int[] getComponents(Object pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых компонент и компоненты альфа-канала для пикселя в этой ColorModel. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Если pixel не является примитивным массивом типа transferType, выбрасывается ClassCastException. ArrayIndexOutOfBoundsException выбрасывается, если pixel недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Если массив components имеет значение null, выделяется новый массив. Возвращается массив components. Цветовые компоненты и компонента альфа-канала сохраняются в массиве components, начиная с позиции offset, даже если массив выделяется этим методом. Выбрасывается ArrayIndexOutOfBoundsException, если массив components не имеет значения null и недостаточно велик для хранения всех цветовых компонент и компоненты альфа-канала, начиная с позиции offset. Поскольку DirectColorModel можно создавать подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType.
Переопределяет:
getComponents в классе ColorModel
Параметры:
pixel — указанный пиксель
components — массив для получения цветовых компонент и компоненты альфа-канала указанного пикселя
offset — смещение в массиве components, с которого следует начать сохранение цветовых компонент и компоненты альфа-канала
Возвращает:
массив, содержащий цветовые компоненты и компоненту альфа-канала указанного пикселя, начиная с заданного смещения.
Исключения:
ClassCastException — если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException — если pixel недостаточно велик, чтобы вместить значение пикселя для этой ColorModel, или если components не имеет значения null и недостаточно велик для хранения всех цветовых компонент и компоненты альфа-канала, начиная с позиции offset
UnsupportedOperationException — если эта transferType не поддерживается данной цветовой моделью

createCompatibleWritableRaster

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

getDataElement

public int getDataElement(int[] components, int offset)
Возвращает значение пикселя, представленное как int в этой ColorModel, по массиву ненормализованных цветовых компонент и компоненты альфа-канала. Выбрасывается ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех цветовых компонент и компоненты альфа-канала, начиная с позиции offset.
Переопределяет:
getDataElement в классе ColorModel
Параметры:
components — массив ненормализованных цветовых компонент и компоненты альфа-канала
offset — индекс в components, с которого следует начать получение цветовых компонент и компоненты альфа-канала
Возвращает:
значение пикселя типа int в этой ColorModel, соответствующее указанным компонентам.
Исключения:
ArrayIndexOutOfBoundsException — если массив components недостаточно велик для хранения всех цветовых компонент и компоненты альфа-канала, начиная с позиции offset

getDataElements

public Object getDataElements(int[] components, int offset, Object obj)
Возвращает представление пикселя в виде массива элементов данных для этого ColorModel на основе массива ненормализованных компонентов цвета/альфа-канала. Затем этот массив можно передать методу setDataElements объекта WritableRaster. Если массив components недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала, начиная с указанного смещения, выбрасывается ArrayIndexOutOfBoundsException. Если переменная obj имеет значение null, выделяется новый массив. Если obj не равно null, оно должно быть примитивным массивом типа transferType; в противном случае выбрасывается ClassCastException. Если obj недостаточно велик, чтобы вместить значение пикселя для этого ColorModel, выбрасывается ArrayIndexOutOfBoundsException. Поскольку DirectColorModel можно наследовать, подклассы наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType.
Переопределяет:
getDataElements в классе ColorModel
Параметры:
components - массив ненормализованных компонентов цвета и альфа-канала
offset - индекс в components, с которого начинается получение компонентов цвета и альфа-канала
obj - Object, представляющий массив компонентов цвета и альфа-канала
Возвращает:
Object, представляющий массив компонентов цвета и альфа-канала.
Выбрасывает:
ClassCastException - если obj не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если obj недостаточно велик, чтобы вместить значение пикселя для этого ColorModel, или массив components недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала, начиная с offset
UnsupportedOperationException - если этот transferType не поддерживается данной цветовой моделью
См. также:
  • WritableRaster.setDataElements(int, int, Object)
  • SampleModel.setDataElements(int, int, Object, DataBuffer)

coerceData

public final ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
Приводит данные растра к состоянию, заданному переменной isAlphaPremultiplied, предполагая, что текущее состояние данных правильно описано этим ColorModel. Метод может умножить или разделить данные цветового растра на альфа-канал либо ничего не делать, если данные уже находятся в нужном состоянии. Если данные необходимо преобразовать, этот метод также возвращает экземпляр данного ColorModel с соответствующим значением флага isAlphaPremultiplied. Если этот transferType не поддерживается данным ColorModel, метод выбрасывает UnsupportedOperationException. Поскольку ColorModel можно наследовать, подклассы наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType.
Переопределяет:
coerceData в классе ColorModel
Параметры:
raster - данные WritableRaster
isAlphaPremultiplied - true, если альфа-канал предварительно умножен; в противном случае — false
Возвращает:
объект ColorModel, представляющий преобразованные данные.
Выбрасывает:
UnsupportedOperationException - если этот transferType не поддерживается данной цветовой моделью

isCompatibleRaster

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

toString

public String toString()
Возвращает String, представляющий этот DirectColorModel.
Переопределяет:
toString в классе ColorModel
Возвращает:
String, представляющий этот DirectColorModel.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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