Spec-Zone.ru › OpenJDK 24

Класс DirectColorModel

java.lang.Object
java.awt.image.ColorModel
java.awt.image.PackedColorModel
java.awt.image.DirectColorModel
Все реализованные интерфейсы:
Transparency
public class DirectColorModel extends PackedColorModel
Класс DirectColorModel — это класс, работающий с значениями пикселей, которые представляют информацию о цвете RGB и альфа-канале как отдельные выборки, упаковывая все выборки для одного пикселя в одно целое число (int), короткое целое (short) или байт (byte). Этот класс может использоваться только с цветовыми пространствами типа 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) является допустимым для всех объектов этого класса, поскольку всегда можно представить значения пикселей, используемые с этим классом, в виде одного целого числа. Поэтому методы, которые используют это представление, не будут выбрасывать исключение 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

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

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

Конструктор Описание
Создаёт DirectColorModel по заданным маскам, указывающим, какие биты в представлении пикселя int содержат значения красного, зелёного и синего цветов.
Создаёт DirectColorModel по заданным маскам, указывающим, какие биты в представлении пикселя int содержат значения красного, зелёного и синего цветов, а также альфа-компоненты, если они присутствуют.
Создаёт DirectColorModel по заданным параметрам.

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

Модификатор и тип Метод Описание
Принудительно подстраивает данные растра под состояние, указанное в переменной isAlphaPremultiplied, предполагая, что данные в настоящее время корректно описываются этим ColorModel.
Создаёт WritableRaster заданной ширины и высоты с представлением данных (SampleModel), совместимым с этим ColorModel.
Возвращает альфа-компоненту для указанного пикселя, масштабированную от 0 до 255.
Возвращает альфа-компоненту для указанного пикселя, масштабированную от 0 до 255.
Возвращает маску, указывающую, какие биты в представлении пикселя int содержат альфа-компоненту.
Возвращает синюю компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB-модели ColorSpace, sRGB.
Возвращает синюю компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB-модели ColorSpace, sRGB.
Возвращает маску, указывающую, какие биты в представлении пикселя int содержат синюю компоненту цвета.
Возвращает массив ненормализованных компонентов цвета/альфа для данного пикселя в этом ColorModel.
Возвращает массив ненормализованных компонентов цвета/альфа для данного пикселя в этом ColorModel.
Возвращает значение пикселя, представленное как int в этом ColorModel, заданное массивом ненормализованных компонентов цвета/альфа.
Возвращает массив элементов данных, представляющий пиксель в этом ColorModel, заданный массивом ненормализованных компонентов цвета/альфа.
Возвращает массив элементов данных, представляющий пиксель в этом ColorModel, заданный целым числовым представлением пикселя в стандартной RGB-модели цвета.
Возвращает зелёную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB-модели ColorSpace, sRGB.
Возвращает зелёную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB-модели ColorSpace, sRGB.
Возвращает маску, указывающую, какие биты в представлении пикселя int содержат зелёную компоненту цвета.
Возвращает красную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB-модели ColorSpace, sRGB.
Возвращает красную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB-модели ColorSpace, sRGB.
Возвращает маску, указывающую, какие биты в представлении пикселя int содержат красную компоненту цвета.
Возвращает компоненты цвета/альфа пикселя в формате стандартной RGB-модели.
Возвращает компоненты цвета/альфа для указанного пикселя в формате стандартной RGB-модели.
Возвращает true, если raster совместим с этим ColorModel, и false в противном случае.
Возвращает String, представляющий этот DirectColorModel.

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

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

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

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

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.
Overrides:
getRGB в классе ColorModel
Parameters:
pixel — указанный пиксель
Returns:
значение RGB цветовых/альфа-компонентов указанного пикселя.
See Also:
  • 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.
Overrides:
getRed в классе ColorModel
Parameters:
inData — массив, содержащий значение пикселя
Returns:
значение красного компонента указанного пикселя.
Throws:
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.
Overrides:
getGreen в классе ColorModel
Parameters:
inData — массив, содержащий значение пикселя
Returns:
значение зелёного компонента указанного пикселя.
Throws:
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.
Overrides:
getBlue в классе ColorModel
Parameters:
inData — массив, содержащий значение пикселя
Returns:
значение синего компонента указанного пикселя.
Throws:
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.
Переопределяет:
getDataElements в классе ColorModel
Параметры:
rgb - целочисленное представление пикселя в стандартной цветовой модели RGB
pixel - указанный пиксель
Возвращает:
массивное представление указанного пикселя в этом ColorModel
Исключения:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик, чтобы вместить значение пикселя для этого ColorModel
UnsupportedOperationException - если этот transferType не поддерживается этим ColorModel
См. также:
  • 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 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. Исключение 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 может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбросят исключение, если они используют недопустимый тип передачи.
Overrides:
coerceData в классе ColorModel
Parameters:
raster - данные растра WritableRaster
isAlphaPremultiplied - true, если альфа-канал предварительно умножен; false в противном случае
Returns:
объект ColorModel, представляющий приведенные к нужному состоянию данные.
Throws:
UnsupportedOperationException - если этот тип передачи transferType не поддерживается этой цветовой моделью

isCompatibleRaster

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

toString

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

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/image/DirectColorModel.html

Spec-Zone.ru

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