Класс 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. Вы можете создать подкласс этого класса по другим причинам, но вы не можете переопределять или изменять поведение этих методов.
- См. также:
Краткое описание полей
Поля, объявленные в классе 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)
ColorSpace, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся как int. Возвращаемое значение — не предварительно умноженное значение. Таким образом, если альфа-канал предварительно умножен, этот метод делит его перед возвращением значения. Если значение альфа-канала равно 0, например, красное значение равно 0.- Определено в:
-
getRedв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- красный компонент цвета для указанного пикселя, от 0 до 255 в sRGB-пространстве
ColorSpace.
getGreen
public final int getGreen(int pixel)
ColorSpace, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся как int. Возвращаемое значение — не предварительно умноженное значение. Таким образом, если альфа-канал предварительно умножен, этот метод делит его перед возвращением значения. Если значение альфа-канала равно 0, например, зелёное значение равно 0.- Определено в:
-
getGreenв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- зелёный компонент цвета для указанного пикселя, от 0 до 255 в sRGB-пространстве
ColorSpace.
getBlue
public final int getBlue(int pixel)
ColorSpace, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся как int. Возвращаемое значение — не предварительно умноженное значение. Таким образом, если альфа-канал предварительно умножен, этот метод делит его перед возвращением значения. Если значение альфа-канала равно 0, например, синее значение равно 0.- Определено в:
-
getBlueв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- синий компонент цвета для указанного пикселя, от 0 до 255 в sRGB-пространстве
ColorSpace.
getAlpha
public final int getAlpha(int pixel)
int.- Определено в:
-
getAlphaв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- значение альфа-компонента
pixelот 0 до 255.
getRGB
public final int getRGB(int pixel)
int. Возвращаемое значение имеет непроумноженный формат. Таким образом, если альфа-канал умножен, этот метод делит его на цветовые компоненты. Если значение альфа-канала равно 0, например, цветовые значения равны 0.- Overrides:
-
getRGBв классеColorModel - Parameters:
-
pixel— указанный пиксель - Returns:
- значение RGB цветовых/альфа-компонентов указанного пикселя.
- See Also:
getRed
public int getRed(Object inData)
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)
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)
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)
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)
transferType, переданным в качестве ссылки на объект. Если inData не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Бросается исключение ArrayIndexOutOfBoundsException, если inData недостаточно велик, чтобы содержать значение пикселя для данной цветовой модели ColorModel. Возвращаемое значение имеет непроумноженный формат. Таким образом, если альфа-канал умножен, этот метод делит его на цветовые компоненты. Если значение альфа-канала равно 0, например, цветовые значения равны 0. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они не переопределяют его, то выбрасывают исключение, если используется неподдерживаемый transferType.- Overrides:
-
getRGBв классеColorModel - Parameters:
-
inData— указанный пиксель - Returns:
- цветовые и альфа-компоненты указанного пикселя.
- Throws:
-
UnsupportedOperationException— если данныйtransferTypeне поддерживается даннойColorModel - See Also:
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 - См. также:
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меньше или равно нулю - См. также:
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не поддерживается этой цветовой моделью - См. также:
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