Класс DirectColorModel
- Все реализованные интерфейсы:
Transparency
public class DirectColorModel extends PackedColorModel
DirectColorModel — это класс, работающий с пиксельными значениями, которые представляют информацию о цвете RGB и альфа-канале как отдельные образцы и упаковывающие все образцы для одного пикселя в одно целое число, короткое целое число или байт. Этот класс может использоваться только с цветовыми пространствами типа ColorSpace.TYPE_RGB. Кроме того, для каждого компонента цветового пространства минимальное нормализованное значение компонента, полученное с помощью метода getMinValue() класса ColorSpace, должно быть 0,0, а максимальное значение, полученное с помощью метода getMaxValue(), должно быть 1,0 (эти минимальные/максимальные значения типичны для цветовых пространств RGB). В пиксельных значениях должно быть три образца цвета и может быть один образец альфа-канала. Для методов, использующих примитивный массив пикселей типа transferType, длина массива всегда равна одному. Поддерживаемые типы преобразования — DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT и DataBuffer.TYPE_INT. Образцы цвета и альфа-канала хранятся в единственном элементе массива в битах, указанных масками. Каждая маска должна быть непрерывной и маски не должны перекрываться. Те же маски применяются к представлению одного пикселя в виде целого числа, используемому другими методами. Соответствие масок и образцов цвета/альфа-канала таково: - Маски идентифицируются индексами от 0 до 2, если альфа-канал отсутствует, или до 3, если альфа-канал присутствует.
- Первые три индекса относятся к образцам цвета; индекс 0 соответствует красному, индекс 1 — зеленому, а индекс 2 — синему.
- Индекс 3 соответствует образцу альфа-канала, если он присутствует.
Перевод из пиксельных значений в цветовые/альфа-компоненты для отображения или обработки представляет собой взаимно однозначное соответствие образцов компонентам. DirectColorModel обычно используется с данными изображения, которые используют маски для определения упакованных образцов. Например, DirectColorModel можно использовать совместно с SinglePixelPackedSampleModel для построения BufferedImage. Обычно маски, используемые SampleModel и ColorModel, совпадают. Однако, если они отличаются, интерпретация цвета пиксельных данных будет выполняться в соответствии с масками ColorModel.
Представление одного пикселя в виде целого числа является допустимым для всех объектов этого класса, так как всегда можно представить пиксельные значения, используемые с этим классом, в виде одного целого числа. Поэтому методы, использующие это представление, не будут выбрасывать 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. Это связано с тем, что базовый код графики с нативным API делает предположения о расположении и работе этого класса, и эти предположения отражаются в реализациях помеченных как final методов здесь. Вы можете создать подкласс этого класса по другим причинам, но вы не можете переопределять или изменять поведение этих методов.
Краткое описание полей
Поля, объявленные в классе 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
finalize, 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)
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.- Переопределяет:
-
getRGBв классеColorModel - Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение RGB для компонент цвета/альфа-канала указанного пикселя.
- См. также:
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. - Overrides:
-
getDataElementsв классеColorModel - Parameters:
-
rgb- целочисленное представление пикселя в стандартной цветовой модели RGB -
pixel- указанный пиксель - Returns:
- массив данных, представляющий указанный пиксель в этой
ColorModel - Throws:
-
ClassCastException- еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиpixelнедостаточно велик для хранения значения пикселя для этойColorModel -
UnsupportedOperationException- если этаtransferTypeне поддерживается даннойColorModel - See Also:
getComponents
public final int[] getComponents(int pixel, int[] components, int offset)
ColorModel. Значение пикселя задаётся как int. Если массив components пустой, создаётся новый массив. Возвращается массив components. Компоненты цвета/альфа хранятся в массиве components начиная с индекса offset, даже если массив был выделен этим методом. Бросается исключение ArrayIndexOutOfBoundsException, если массив components не пуст и недостаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset. - Overrides:
-
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 пустой, создаётся новый массив. Возвращается массив components. Компоненты цвета/альфа хранятся в массиве components начиная с индекса offset, даже если массив был выделен этим методом. Бросается исключение ArrayIndexOutOfBoundsException, если массив components не пуст и недостаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то бросают исключение, если используют неподдерживаемый transferType.- Overrides:
-
getComponentsв классеColorModel - Параметры:
-
pixel- указанный пиксел -
components- массив для хранения компонентов цвета и альфа указанного пикселя -
offset- смещение в массивеcomponentsдля начала хранения компонентов цвета и альфа - Возвращает:
- массив, содержащий компоненты цвета и альфа указанного пикселя, начиная со смещения.
- Бросает:
-
ClassCastException- еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиpixelнедостаточно велик для хранения значения пикселя для этогоColorModel, или еслиcomponentsне пуст и недостаточно велик для хранения всех компонентов цвета и альфа, начиная с индексаoffset -
UnsupportedOperationException- если этотtransferTypeне поддерживается этой моделью цвета
createCompatibleWritableRaster
public final WritableRaster createCompatibleWritableRaster(int w, int h)
WritableRaster с указанной шириной и высотой, имеющей структуру данных (SampleModel) совместимую с этим ColorModel.- Overrides:
-
createCompatibleWritableRasterв классеColorModel - Параметры:
-
w- ширина новогоWritableRaster -
h- высота новогоWritableRaster - Возвращает:
- объект
WritableRasterс указанной шириной и высотой. - Бросает:
-
IllegalArgumentException- еслиwилиhменьше или равно нулю - См. также:
getDataElement
public int getDataElement(int[] components, int offset)
int в этом ColorModel, на основании массива ненормализованных компонентов цвета/альфа. Бросается исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset.- Overrides:
-
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 не пуст, то он должен быть примитивным массивом типа transferType; в противном случае, бросается исключение ClassCastException. Бросается исключение ArrayIndexOutOfBoundsException, если obj недостаточно велик для хранения значения пикселя для этого ColorModel. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то бросают исключение, если используют неподдерживаемый transferType. - Overrides:
-
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 - Параметры:
-
raster- данные растра -
isAlphaPremultiplied-trueесли альфа предопределена;falseв противном случае - Возвращает:
- объект
ColorModelпредставляющий приведённые данные. - Бросает:
-
UnsupportedOperationException- если этотtransferTypeне поддерживается этой моделью цвета
isCompatibleRaster
public boolean isCompatibleRaster(Raster raster)
true, если raster совместим с этим ColorModel, и false, если нет.- Overrides:
-
isCompatibleRasterв классеColorModel - Параметры:
-
raster- объектRasterдля проверки совместимости - Возвращает:
-
trueеслиrasterсовместим с этимColorModel;falseв противном случае.
toString
public String toString()
String представляющий этот DirectColorModel.- Overrides:
-
toStringв классеColorModel - Возвращает:
- строку
Stringпредставляющую этотDirectColorModel.
© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/image/DirectColorModel.html