Класс DirectColorModel
- Все реализованные интерфейсы:
Transparency
public class DirectColorModel extends PackedColorModel
DirectColorModel является классом ColorModel, который работает с пиксельными значениями, представляющими информацию о цвете 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
Многие методы в этом классе являются финальными. Это потому, что базовый код графики делает предположения о структуре и работе этого класса, и эти предположения отражены в реализациях методов здесь, помеченных как финальные. Вы можете наследовать от этого класса по другим причинам, но вы не можете переопределять или изменять поведение этих методов.
- См. также:
Краткое описание полей
Поля, объявленные в классе java.awt.image.ColorModel
pixel_bits, transferType
Поля, объявленные в интерфейсе java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DirectColorModel |
Создаёт DirectColorModel из указанных масок, которые указывают, какие биты в представлении пикселя int содержат значения красного, зелёного и синего цветов. |
DirectColorModel |
Создаёт DirectColorModel из указанных масок, которые указывают, какие биты в представлении пикселя int содержат значения красного, зелёного и синего цветов, а также альфа-компоненту, если она присутствует. |
DirectColorModel |
Создаёт DirectColorModel из указанных параметров. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ColorModel |
coerceData |
Принудительно согласует данные растра с состоянием, указанным в переменной isAlphaPremultiplied, предполагая, что данные в настоящее время корректно описываются этим ColorModel. |
final WritableRaster |
createCompatibleWritableRaster |
Создаёт WritableRaster с заданной шириной и высотой, имеющей структуру данных (SampleModel) совместимую с этим ColorModel. |
final int |
getAlpha |
Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. |
int |
getAlpha |
Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. |
final int |
getAlphaMask() |
Возвращает маску, указывающую, какие биты в представлении пикселя int содержат альфа-компонент. |
final int |
getBlue |
Возвращает синюю компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB ColorSpace, sRGB. |
int |
getBlue |
Возвращает синюю компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB ColorSpace, sRGB. |
final int |
getBlueMask() |
Возвращает маску, указывающую, какие биты в представлении пикселя int содержат синюю компоненту цвета. |
final int[] |
getComponents |
Возвращает массив ненормализованных цветовых/альфа-компонентов для пикселя в данном ColorModel. |
final int[] |
getComponents |
Возвращает массив ненормализованных цветовых/альфа-компонентов для пикселя в данном ColorModel. |
int |
getDataElement |
Возвращает значение пикселя, представленное как int в данном ColorModel, для заданного массива ненормализованных цветовых/альфа-компонентов. |
Object |
getDataElements |
Возвращает массив элементов данных, представляющих пиксель в данном ColorModel, для заданного массива ненормализованных цветовых/альфа-компонентов. |
Object |
getDataElements |
Возвращает массив элементов данных, представляющих пиксель в данном ColorModel, для заданного целочисленного представления пикселя в стандартной RGB модели цвета. |
final int |
getGreen |
Возвращает зелёную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB ColorSpace, sRGB. |
int |
getGreen |
Возвращает зелёную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB ColorSpace, sRGB. |
final int |
getGreenMask() |
Возвращает маску, указывающую, какие биты в представлении пикселя int содержат зелёную компоненту цвета. |
final int |
getRed |
Возвращает красную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB ColorSpace, sRGB. |
int |
getRed |
Возвращает красную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной RGB ColorSpace, sRGB. |
final int |
getRedMask() |
Возвращает маску, указывающую, какие биты в представлении пикселя int содержат красную компоненту цвета. |
final int |
getRGB |
Возвращает цветовые/альфа-компоненты пикселя в формате стандартной RGB модели цвета. |
int |
getRGB |
Возвращает цветовые/альфа-компоненты для указанного пикселя в формате стандартной RGB модели цвета. |
boolean |
isCompatibleRaster |
Возвращает true если raster совместим с этим ColorModel и false в противном случае. |
String |
toString() |
Возвращает String , представляющий этот DirectColorModel. |
Методы, объявленные в классе java.awt.image.PackedColorModel
createCompatibleSampleModel, equals, getAlphaRaster, getMask, getMasks, hashCode, isCompatibleSampleModel
Методы, объявленные в классе java.awt.image.ColorModel
getColorSpace, getComponentSize, getComponentSize, getDataElement, getDataElements, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, isAlphaPremultiplied
Подробное описание конструкторов
DirectColorModel
public DirectColorModel(int bits, int rmask, int gmask, int bmask)
- Параметры:
-
bits- количество битов в значениях пикселей; например, сумма количества битов в масках. -
rmask- маска, указывающая, какие биты в целочисленном пикселе содержат красный компонент -
gmask- маска, указывающая, какие биты в целочисленном пикселе содержат зелёный компонент -
bmask- маска, указывающая, какие биты в целочисленном пикселе содержат синий компонент
DirectColorModel
public DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask)
amask равно 0, значения пикселей не содержат информации об альфе, и все пиксели обрабатываются как непрозрачные (alpha = 1.0). Все биты в каждой маске должны быть смежными и помещаться в указанном числе младших значащих битов представления пикселя. Альфа-компонент, если он присутствует, не предумножен. Пространство цветов — по умолчанию 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)
ColorSpace, которое должно быть типа ColorSpace.TYPE_RGB и иметь минимальные и максимальные нормализованные значения компонентов 0.0 и 1.0 соответственно. Маски определяют, какие биты в представлении пикселя содержат значения красного, зелёного и синего цветов, а также альфа-компонента, если он присутствует. Если amask равно 0, значения пикселей не содержат информации об альфе, и все пиксели обрабатываются как непрозрачные (alpha = 1.0). Все биты в каждой маске должны быть смежными и помещаться в указанном числе младших значащих битов представления пикселя. Если присутствует альфа-компонент, 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()
- Возвращает:
- маску, которая указывает, какие биты в представлении пикселя содержат красный цветовой компонент.
getGreenMask
public final int getGreenMask()
- Возвращает:
- маску, которая указывает, какие биты в представлении пикселя содержат зелёный цветовой компонент.
getBlueMask
public final int getBlueMask()
- Возвращает:
- маску, которая указывает, какие биты в представлении пикселя содержат синий цветовой компонент.
getAlphaMask
public final int getAlphaMask()
- Возвращает:
- маску, которая указывает, какие биты в представлении пикселя содержат альфа-компонент.
getRed
public final int getRed(int pixel)
int. Возвращаемое значение — значение без предумножения. Таким образом, если альфа предумножена, этот метод делит её перед возвратом значения. Если значение альфа равно 0, например, значение красного цвета равно 0.- Определено в:
-
getRedв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- красный цветовой компонент для указанного пикселя, от 0 до 255 в sRGB пространстве цветов.
getGreen
public final int getGreen(int pixel)
int. Возвращаемое значение — значение без предумножения. Таким образом, если альфа предумножена, этот метод делит её перед возвратом значения. Если значение альфа равно 0, например, значение зелёного цвета равно 0.- Определено в:
-
getGreenв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- зелёный цветовой компонент для указанного пикселя, от 0 до 255 в sRGB пространстве цветов.
getBlue
public final int getBlue(int pixel)
int. Возвращаемое значение — значение без предумножения. Таким образом, если альфа предумножена, этот метод делит её перед возвратом значения. Если значение альфа равно 0, например, значение синего цвета равно 0.- Определено в:
-
getBlueв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- синий цветовой компонент для указанного пикселя, от 0 до 255 в sRGB пространстве цветов.
getAlpha
public final int getAlpha(int pixel)
int.- Определено в:
-
getAlphaв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- значение альфа-компонента
pixelот 0 до 255.
getRGB
public final int getRGB(int pixel)
int. Возвращаемое значение — в формате без предумножения. Таким образом, если альфа предумножена, этот метод делит её на цветовые компоненты. Если значение альфа равно 0, например, цветовые значения равны 0.- Переопределяет:
-
getRGBв классеColorModel - Параметры:
-
pixel- указанный пиксель - Возвращает:
- значение RGB цветовых/альфа-компонентов указанного пикселя.
- См. также:
getRed
public int getRed(Object inData)
ColorSpace, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Возвращаемое значение — не умноженное на альфа-канал. Таким образом, если альфа-канал умножен, этот метод делит его перед возвратом значения. Если значение альфа-канала равно 0, например, значение красного цвета также равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Если inData недостаточно велик для хранения значения пикселя для этой ColorModel, выбрасывается исключение ArrayIndexOutOfBoundsException. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемая transferType. Если эта transferType не поддерживается этой ColorModel, выбрасывается исключение UnsupportedOperationException. - 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. Если inData недостаточно велик для хранения значения пикселя для этой ColorModel, выбрасывается исключение ArrayIndexOutOfBoundsException. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемая transferType. Если эта transferType не поддерживается этой ColorModel, выбрасывается исключение UnsupportedOperationException. - 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. Если inData недостаточно велик для хранения значения пикселя для этой ColorModel, выбрасывается исключение ArrayIndexOutOfBoundsException. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемая transferType. Если эта transferType не поддерживается этой ColorModel, выбрасывается исключение UnsupportedOperationException. - Overrides:
-
getBlueв классеColorModel - Parameters:
-
inData- массив, содержащий значение пикселя - Returns:
- значение синего компонента указанного пикселя.
- Throws:
-
ArrayIndexOutOfBoundsException- еслиinDataнедостаточно велик для хранения значения пикселя для данной модели цвета -
ClassCastException- еслиinDataне является примитивным массивом типаtransferType -
UnsupportedOperationException- если этаtransferTypeне поддерживается данной моделью цвета
getAlpha
public int getAlpha(Object inData)
transferType переданным в качестве ссылки на объект. Если inData не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Если inData недостаточно велик для хранения значения пикселя для этой ColorModel, выбрасывается исключение ArrayIndexOutOfBoundsException. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемая transferType. Если эта transferType не поддерживается, выбрасывается исключение UnsupportedOperationException. - Overrides:
-
getAlphaв классеColorModel - Parameters:
-
inData- указанный пиксель - Returns:
- альфа-компонент указанного пикселя, масштабированный от 0 до 255.
- Throws:
-
ClassCastException- еслиinDataне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиinDataнедостаточно велик для хранения значения пикселя для данной модели цвета -
UnsupportedOperationException- если этаtranferTypeне поддерживается данной моделью цвета
getRGB
public int getRGB(Object inData)
transferType переданным в качестве ссылки на объект. Если inData не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Если inData недостаточно велик для хранения значения пикселя для этой ColorModel, выбрасывается исключение ArrayIndexOutOfBoundsException. Возвращаемое значение имеет формат без умножения на альфа-канал. Таким образом, если альфа-канал умножен, этот метод делит его на компоненты цвета. Если значение альфа-канала равно 0, то значения цветов равны 0. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемая transferType.- Overrides:
-
getRGBв классеColorModel - Parameters:
-
inData- указанный пиксель - Returns:
- компоненты цвета и альфа указанного пикселя.
- Throws:
-
UnsupportedOperationException- если этаtransferTypeне поддерживается данной моделью цвета - See Also:
getDataElements
public Object getDataElements(int rgb, Object pixel)
ColorModel, на основе целочисленного представления пикселя в стандартной модели RGB. Этот массив затем может быть передан в метод setDataElements объекта WritableRaster. Если переменная пикселя null, создаётся новый массив. Если pixel не null, это должен быть примитивный массив типа transferType; в противном случае выбрасывается исключение ClassCastException. Если pixel недостаточно велик для хранения значения пикселя для этой ColorModel, выбрасывается исключение ArrayIndexOutOfBoundsException. Возвращается массив пикселей. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемая transferType.- Overrides:
-
getDataElementsв классеColorModel - Parameters:
-
rgb- целочисленное представление пикселя в стандартной модели RGB -
pixel- указанный пиксель - Returns:
- массив, представляющий указанный пиксель в данной
ColorModel - Throws:
-
ClassCastException- еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиpixelнедостаточно велик для хранения значения пикселя для данной модели цвета -
UnsupportedOperationException- если этаtransferTypeне поддерживается данной моделью цвета - See Also:
getComponents
public final int[] getComponents(int pixel, int[] components, int offset)
ColorModel. Значение пикселя задаётся как int. Если массив components пуст, создаётся новый массив. Возвращается массив components. Цветовые/альфа-компоненты хранятся в массиве components начиная с offset, даже если массив был выделен этим методом. Бросается ArrayIndexOutOfBoundsException, если массив components не null и не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с 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 не null и не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.- Overrides:
-
getComponentsв классеColorModel - Parameters:
-
pixel- заданный пиксель -
components- массив для хранения цветовых и альфа-компонентов заданного пикселя -
offset- смещение в массивеcomponentsдля начала хранения цветовых и альфа-компонентов - Returns:
- массив, содержащий цветовые и альфа-компоненты заданного пикселя, начиная с указанного смещения.
- Throws:
-
ClassCastException- еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиpixelне достаточно велик для хранения значения пикселя для этойColorModel, или еслиcomponentsнеnullи не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная сoffset -
UnsupportedOperationException- если этаtransferTypeне поддерживается этой цветовой моделью
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:
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 пуста, создаётся новый массив. Если obj не пуста, это должен быть примитивный массив типа transferType; в противном случае бросается ClassCastException. Бросается ArrayIndexOutOfBoundsException, если obj не достаточно велик для хранения значения пикселя для этой ColorModel. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.- Overrides:
-
getDataElementsв классеColorModel - Parameters:
-
components- массив ненормализованных цветовых и альфа-компонентов -
offset- индекс вcomponentsдля начала извлечения цветовых и альфа-компонентов -
obj-Objectпредставляющий массив цветовых и альфа-компонентов - Returns:
Objectпредставляющий массив цветовых и альфа-компонентов.- Throws:
-
ClassCastException- еслиobjне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиobjне достаточно велик для хранения значения пикселя для этойColorModelили массивcomponentsне достаточно велик для хранения всех цветовых и альфа-компонентов, начиная сoffset -
UnsupportedOperationException- если этаtransferTypeне поддерживается этой цветовой моделью - See Also:
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()
String, представляющий эту DirectColorModel.- Overrides:
-
toStringв классеColorModel - Returns:
Stringпредставляющий этуDirectColorModel.
© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/image/DirectColorModel.html