Класс DirectColorModel

Все реализуемые интерфейсы:
Transparency
public class DirectColorModel
extends PackedColorModel

Класс DirectColorModel — это класс, работающий с пиксельными значениями, представляющими информацию о цвете RGB и альфа-канале в виде отдельных выборок, а все выборки для одного пикселя упаковываются в одно целое число (int), короткое целое (short) или байт. Этот класс может использоваться только с цветовыми пространствами типа ColorSpace.TYPE_RGB. Кроме того, для каждого компонента цветового пространства минимальное нормализованное значение компонента, полученное с помощью метода getMinValue() класса ColorSpace, должно быть 0.0, а максимальное значение, полученное с помощью метода getMaxValue(), должно быть 1.0 (эти значения min/max типичны для цветовых пространств 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()

Поля

Поля, объявленные в классе java.awt.image.ColorModel

pixel_bits, transferType

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

BITMASK, OPAQUE, TRANSLUCENT

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

Конструктор Описание
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 по заданным параметрам.

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

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

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

WritableRaster createCompatibleWritableRaster​(int w, int h)

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

int getAlpha​(int pixel)

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

int getAlpha​(Object inData)

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

int getAlphaMask()

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

int getBlue​(int pixel)

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

int getBlue​(Object inData)

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

int getBlueMask()

Возвращает маску, указывающую, какие биты в представлении пикселя int содержат синюю цветовую компоненту.

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

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

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.

int getGreen​(int pixel)

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

int getGreen​(Object inData)

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

int getGreenMask()

Возвращает маску, указывающую, какие биты в представлении пикселя int содержат зелёную цветовую компоненту.

int getRed​(int pixel)

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

int getRed​(Object inData)

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

int getRedMask()

Возвращает маску, указывающую, какие биты в представлении пикселя int содержат красную цветовую компоненту.

int getRGB​(int pixel)

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

int getRGB​(Object inData)

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

boolean isCompatibleRaster​(Raster raster)

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

String toString()

Возвращает String, представляющий данный DirectColorModel.

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

createCompatibleSampleModel, equals, getAlphaRaster, getMask, getMasks, hashCode, isCompatibleSampleModel

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

finalize, getColorSpace, getComponentSize, getComponentSize, getDataElement, getDataElements, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, isAlphaPremultiplied

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

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

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

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.

Overrides:
getAlpha в классе ColorModel
Parameters:
inData - указанный пиксель
Returns:
альфа-компонент указанного пикселя, масштабированный от 0 до 255.
Throws:
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.

Overrides:
getRGB в классе ColorModel
Parameters:
inData - указанный пиксель
Returns:
цветовые и альфа-компоненты указанного пикселя.
Throws:
UnsupportedOperationException - если данный transferType не поддерживается данным ColorModel
See Also:
ColorModel.getRGBdefault()

getDataElements

public Object getDataElements(int rgb,
                              Object pixel)

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

Overrides:
getDataElements в классе ColorModel
Parameters:
rgb - целое значение пикселя в стандартной модели RGB
pixel - указанный пиксель
Returns:
массив, представляющий указанный пиксель в данном ColorModel
Throws:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для данного ColorModel
UnsupportedOperationException - если данный transferType не поддерживается данным ColorModel
See Also:
WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

getComponents

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

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

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

getComponents

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

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

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

createCompatibleWritableRaster

public final WritableRaster createCompatibleWritableRaster(int w,
                                                           int h)

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

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

getDataElement

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

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

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

getDataElements

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

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

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

coerceData

public final ColorModel coerceData(WritableRaster raster,
                                   boolean isAlphaPremultiplied)

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

Переопределяет:
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()

Возвращает строковое представление этого DirectColorModel.

Переопределяет:
toString в классе ColorModel
Возвращает:
строковое представление этого DirectColorModel.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/image/DirectColorModel.html

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