Класс ColorModel
- Все реализованные интерфейсы:
Transparency
- Прямые известные подклассы:
ComponentColorModel, IndexColorModel, PackedColorModel
public abstract class ColorModel extends Object implements Transparency
ColorModel инкапсулирует методы для преобразования значения пикселя в цветовые компоненты (например, красный, зелёный и синий) и компоненту альфа-канала. Чтобы вывести изображение на экран, принтер или другое изображение, значения пикселей необходимо преобразовать в цветовые компоненты и компоненты альфа-канала. В качестве аргументов методов этого класса или возвращаемых ими значений пиксели представляются в виде 32-разрядных значений типа int или массивов примитивных типов. Количество, порядок и интерпретация цветовых компонентов для ColorModel задаются его ColorSpace. ColorModel, используемая с данными пикселей, не содержащими информацию об альфа-канале, считает все пиксели непрозрачными, то есть значение альфа-канала равно 1.0. Этот класс ColorModel поддерживает два представления значений пикселей. Значение пикселя может быть одним 32-разрядным значением типа int или массивом примитивных типов. В API платформы Java(tm) 1.0 и 1.1 пиксели представлялись отдельными значениями byte или int. В контексте класса ColorModel аргументы со значениями пикселей передавались как значения типа int. В API платформы Java(tm) 2 появились дополнительные классы для представления изображений. В объектах BufferedImage или RenderedImage, основанных на классах Raster и SampleModel, значения пикселей могут быть неудобны для представления одним значением типа int. Поэтому в ColorModel появились методы, принимающие значения пикселей, представленные массивами примитивных типов. Примитивный тип, используемый конкретным объектом ColorModel, называется его типом передачи данных.
Объекты ColorModel, используемые с изображениями, значения пикселей которых неудобно представлять одним значением типа int, вызывают исключение IllegalArgumentException при вызове методов, принимающих в качестве аргумента пикселя одно значение типа int. Подклассы ColorModel должны указывать условия, при которых это происходит. Для объектов DirectColorModel и IndexColorModel этого не происходит.
В настоящее время API Java 2D(tm) поддерживает следующие типы передачи данных: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT и DataBuffer.TYPE_DOUBLE. Большинство операций визуализации выполняется значительно быстрее при использовании ColorModel и изображений, основанных на первых трёх типах. Кроме того, некоторые операции фильтрации изображений не поддерживаются для ColorModel и изображений, основанных на последних трёх типах. Тип передачи данных для конкретного объекта ColorModel задаётся при его создании — явно или по умолчанию. Все подклассы ColorModel должны указывать допустимые типы передачи данных и способ определения количества элементов в примитивных массивах, представляющих пиксели.
Для BufferedImages тип передачи данных его Raster и Raster объекта SampleModel (получаемый с помощью методов getTransferType этих классов) должен совпадать с типом передачи данных ColorModel. Количество элементов в массиве, представляющем пиксель для Raster и SampleModel (получаемое с помощью методов getNumDataElements этих классов), должно совпадать с количеством элементов ColorModel.
Алгоритм преобразования значений пикселей в цветовые компоненты и компоненты альфа-канала зависит от подкласса. Например, между выборками, полученными из SampleModel объекта BufferedImage, и его Raster не обязательно существует взаимно однозначное соответствие с цветовыми компонентами и компонентами альфа-канала. Даже если такое соответствие есть, количество битов в выборке не обязательно совпадает с количеством битов в соответствующей цветовой компоненте или компоненте альфа-канала. Каждый подкласс должен указывать, как выполняется преобразование значений пикселей в цветовые компоненты и компоненты альфа-канала.
Методы класса ColorModel используют два разных представления цветовых компонентов и компонентов альфа-канала — нормализованное и ненормализованное. В нормализованном представлении каждая компонента является значением типа float в диапазоне от некоторого минимального до максимального значения. Для компоненты альфа-канала минимальное значение равно 0.0, а максимальное — 1.0. Минимальные и максимальные значения цветовых компонентов можно получить из объекта ColorSpace. Обычно эти значения равны 0.0 и 1.0 (например, нормализованные значения компонент для пространства цветов sRGB по умолчанию находятся в диапазоне от 0.0 до 1.0), однако в некоторых пространствах цветов компоненты имеют другие верхние и нижние границы. Эти границы можно получить с помощью методов getMinValue и getMaxValue класса ColorSpace. Нормализованные значения цветовых компонент не умножены на альфа-канал. Все ColorModels должны поддерживать нормализованное представление.
В ненормализованном представлении каждая компонента является беззнаковым целым значением в диапазоне от 0 до 2n - 1, где n — количество значащих битов конкретной компоненты. Если значения пикселей для конкретного ColorModel представляют цветовые выборки, умноженные на выборку альфа-канала, ненормализованные значения цветовых компонент также умножены на альфа-канал. Ненормализованное представление используется только с экземплярами ColorModel, у которых ColorSpace имеет минимальные значения компонент 0.0 и максимальные значения компонент 1.0 для всех компонент. Ненормализованное представление цветовых компонент и компонент альфа-канала может быть удобным для ColorModels, нормализованные значения компонент которых находятся в диапазоне от 0.0 до 1.0. В таких случаях целое значение 0 соответствует 0.0, а значение 2n - 1 — 1.0. В других случаях, например когда нормализованные значения компонент могут быть как отрицательными, так и положительными, ненормализованное представление неудобно. Такие объекты ColorModel вызывают исключение IllegalArgumentException при вызове методов, использующих ненормализованный аргумент. Подклассы ColorModel должны указывать условия, при которых это происходит.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int |
pixel_bits |
Общее количество битов в пикселе. |
protected int |
transferType |
Тип данных массива, используемого для представления значений пикселей. |
Поля, объявленные в интерфейсе Transparency
BITMASK, OPAQUE, TRANSLUCENT
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
| Создаёт ColorModel, преобразующую пиксели с заданным количеством битов в цветовые компоненты и компоненты альфа-канала. |
||
protected |
Создаёт ColorModel, преобразующую значения пикселей в цветовые компоненты и компоненты альфа-канала. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ColorModel |
coerceData |
Приводит данные растра в соответствие с состоянием, заданным переменной isAlphaPremultiplied, предполагая, что в настоящее время данные корректно описаны этим ColorModel. |
SampleModel |
createCompatibleSampleModel |
Создаёт SampleModel заданной ширины и высоты с компоновкой данных, совместимой с этим ColorModel. |
WritableRaster |
createCompatibleWritableRaster |
Создаёт WritableRaster заданной ширины и высоты с компоновкой данных (SampleModel), совместимой с этим ColorModel. |
boolean |
equals |
Этот метод просто делегирует вызов реализации по умолчанию в Object, которая эквивалентна проверке ==, поскольку этот класс не может обеспечить корректную проверку равенства между несколькими независимыми ветвями подклассов. |
abstract int |
getAlpha |
Возвращает компоненту альфа-канала для указанного пикселя в диапазоне от 0 до 255. |
int |
getAlpha |
Возвращает компоненту альфа-канала для указанного пикселя в диапазоне от 0 до 255. |
WritableRaster |
getAlphaRaster |
Возвращает Raster, представляющий канал альфа-канала изображения, извлечённый из входного Raster, если значения пикселей этого ColorModel представляют цветовую информацию и информацию об альфа-канале в виде отдельных пространственных полос (например, |
abstract int |
getBlue |
Возвращает компоненту синего цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве цветов RGB по умолчанию — sRGB. |
int |
getBlue |
Возвращает компоненту синего цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве цветов RGB по умолчанию — ColorSpace, sRGB. |
final ColorSpace |
getColorSpace() |
Возвращает ColorSpace, связанный с этим ColorModel. |
int[] |
getComponents |
Возвращает массив ненормализованных цветовых компонент и компонент альфа-канала для пикселя этого ColorModel. |
int[] |
getComponents |
Возвращает массив ненормализованных цветовых компонент и компонент альфа-канала для пикселя этого ColorModel. |
int[] |
getComponentSize() |
Возвращает массив, содержащий количество битов на каждую цветовую компоненту и компоненту альфа-канала. |
int |
getComponentSize |
Возвращает количество битов для указанной цветовой компоненты или компоненты альфа-канала. |
int |
getDataElement |
Возвращает значение пикселя, представленное в виде int в этом ColorModel, по массиву нормализованных цветовых компонент и компонент альфа-канала. |
int |
getDataElement |
Возвращает значение пикселя, представленное в виде int в этом ColorModel, по массиву ненормализованных цветовых компонент и компонент альфа-канала. |
Object |
getDataElements |
Возвращает представление пикселя в виде массива элементов данных в этом ColorModel по массиву нормализованных цветовых компонент и компонент альфа-канала. |
Object |
getDataElements |
Возвращает представление пикселя в виде массива элементов данных в этом ColorModel по массиву ненормализованных цветовых компонент и компонент альфа-канала. |
Object |
getDataElements |
Возвращает представление пикселя в виде массива элементов данных в этом ColorModel по целочисленному представлению пикселя в модели цветов RGB по умолчанию. |
abstract int |
getGreen |
Возвращает компоненту зелёного цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве цветов RGB по умолчанию — sRGB. |
int |
getGreen |
Возвращает компоненту зелёного цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве цветов RGB по умолчанию — ColorSpace, sRGB. |
float[] |
getNormalizedComponents |
Возвращает массив всех цветовых компонент и компонент альфа-канала в нормализованном виде по массиву ненормализованных компонент. |
float[] |
getNormalizedComponents |
Возвращает массив всех цветовых компонент и компонент альфа-канала в нормализованном виде для пикселя этого ColorModel. |
int |
getNumColorComponents() |
Возвращает количество цветовых компонент в этом ColorModel. |
int |
getNumComponents() |
Возвращает количество компонент, включая альфа-канал, в этом ColorModel. |
int |
getPixelSize() |
Возвращает количество битов на пиксель, описываемый этим ColorModel. |
abstract int |
getRed |
Возвращает компоненту красного цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве цветов RGB по умолчанию — sRGB. |
int |
getRed |
Возвращает компоненту красного цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве цветов RGB по умолчанию — ColorSpace, sRGB. |
int |
getRGB |
Возвращает цветовые компоненты и компоненту альфа-канала пикселя в формате модели цветов RGB по умолчанию. |
int |
getRGB |
Возвращает цветовые компоненты и компоненту альфа-канала для указанного пикселя в формате модели цветов RGB по умолчанию. |
static ColorModel |
getRGBdefault() |
Возвращает DirectColorModel, описывающий формат по умолчанию для целочисленных значений RGB, используемый во многих методах интерфейсов изображений AWT для удобства программиста. |
final int |
getTransferType() |
Возвращает тип передачи данных этого ColorModel. |
int |
getTransparency() |
Возвращает значение прозрачности. |
int[] |
getUnnormalizedComponents |
Возвращает массив всех цветовых компонент и компонент альфа-канала в ненормализованном виде по массиву нормализованных компонент. |
final boolean |
hasAlpha() |
Возвращает сведения о том, поддерживается ли альфа-канал в этом ColorModel. |
int |
hashCode() |
Этот метод просто делегирует вызов реализации по умолчанию в Object, которая возвращает системный идентификатор класса. |
final boolean |
isAlphaPremultiplied() |
Возвращает сведения о том, было ли значение альфа-канала предварительно умножено на значения пикселей, преобразуемые этим ColorModel. |
boolean |
isCompatibleRaster |
Возвращает true, если raster совместим с этим ColorModel, и false, если не совместим. |
boolean |
isCompatibleSampleModel |
Проверяет, совместим ли SampleModel с этим ColorModel. |
String |
toString() |
Возвращает представление содержимого этого объекта ColorModel в формате String. |
Подробное описание полей
pixel_bits
protected int pixel_bits
transferType
protected int transferType
Подробное описание конструкторов
ColorModel
public ColorModel(int bits)
ColorModel, преобразующую пиксели с заданным количеством битов в компоненты цвета/альфа-канала. Пространством цветов является пространство RGB по умолчанию ColorSpace, то есть sRGB. Предполагается, что значения пикселей содержат информацию об альфа-канале. Если информация о цвете и альфа-канале представлена в значении пикселя в виде отдельных пространственных полос, предполагается, что значения цветовых компонент не предварительно умножены на значение альфа-канала. Тип прозрачности — java.awt.Transparency.TRANSLUCENT. Тип передачи данных будет наименьшим из DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT, способным вместить один пиксель (или DataBuffer.TYPE_UNDEFINED, если значение bits больше 32). Поскольку этот конструктор не содержит сведений о количестве битов на компонент цвета и альфа-канала, любой подкласс, вызывающий этот конструктор, должен переопределить все методы, которым нужны эти сведения.- Параметры:
-
bits— количество битов в пикселе - Вызывает исключение:
-
IllegalArgumentException— если количество битов вbitsменьше 1
ColorModel
protected ColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
ColorModel, преобразующую значения пикселей в компоненты цвета/альфа-канала. Цветовые компоненты будут представлены в указанном ColorSpace. pixel_bits — количество битов в значениях пикселей. Массив bits задаёт количество значащих битов для каждой компоненты цвета и альфа-канала. Его длина должна равняться количеству компонент в ColorSpace, если значения пикселей не содержат информации об альфа-канале, или быть на единицу больше этого количества, если такая информация есть. hasAlpha указывает, присутствует ли информация об альфа-канале. boolean isAlphaPremultiplied задаёт способ интерпретации значений пикселей, в которых информация о цвете и альфа-канале представлена в виде отдельных пространственных полос. Если boolean имеет значение true, предполагается, что цветовые отсчёты умножены на отсчёт альфа-канала. transparency задаёт, какие значения альфа-канала могут быть представлены этой моделью цвета. Тип передачи данных — это тип примитивного массива, используемого для представления значений пикселей. Обратите внимание, что массив bits содержит количество значащих битов на компонент цвета/альфа-канала после преобразования значений пикселей. Например, для IndexColorModel со значением pixel_bits, равным 16, массив bits может содержать четыре элемента, каждый со значением 8.- Параметры:
-
pixel_bits— количество битов в значениях пикселей -
bits— массив, задающий количество значащих битов для каждой компоненты цвета и альфа-канала -
cspace— указанноеColorSpace -
hasAlpha—true, если присутствует информация об альфа-канале; в противном случае —false -
isAlphaPremultiplied—true, если предполагается, что цветовые отсчёты предварительно умножены на отсчёты альфа-канала; в противном случае —false -
transparency— какие значения альфа-канала могут быть представлены этой моделью цвета -
transferType— тип массива, используемого для представления значений пикселей - Вызывает исключение:
-
IllegalArgumentException— если длина массива битов меньше количества компонент цвета или альфа-канала в этойColorModelлибо если значение прозрачности недопустимо. -
IllegalArgumentException— если сумма количества битов вbitsменьше 1 или если любой элемент вbitsменьше 0. - См. также:
Подробное описание методов
getRGBdefault
public static ColorModel getRGBdefault()
DirectColorModel, описывающую формат по умолчанию для целочисленных значений RGB, используемых во многих методах интерфейсов изображений AWT для удобства программиста. Пространством цветов является пространство ColorSpace по умолчанию — sRGB. Формат значений RGB — это целое число, в котором по 8 бит отведено компонентам альфа-канала, красного, зелёного и синего цвета, расположенным соответственно от старшего байта к младшему, как в 0xAARRGGBB. Цветовые компоненты не предварительно умножены на компонент альфа-канала. Этот формат не обязательно представляет собственный или наиболее эффективный ColorModel для конкретного устройства или всех изображений. Это всего лишь общий формат модели цвета.- Возвращает:
- объект
DirectColorModel, описывающий значения RGB по умолчанию.
hasAlpha
public final boolean hasAlpha()
ColorModel.- Возвращает:
-
true, если в этойColorModelподдерживается альфа-канал; в противном случае —false.
isAlphaPremultiplied
public final boolean isAlphaPremultiplied()
ColorModel. Если логическое значение равно true, эта ColorModel используется для интерпретации значений пикселей, в которых информация о цвете и альфа-канале представлена в виде отдельных пространственных полос, и предполагается, что цветовые отсчёты умножены на отсчёт альфа-канала.- Возвращает:
-
true, если значения альфа-канала предварительно умножены в значениях пикселей, преобразуемых этойColorModel; в противном случае —false.
getTransferType
public final int getTransferType()
ColorModel. Тип передачи данных — это тип примитивного массива, используемого для представления значений пикселей в виде массивов.- Возвращает:
- тип передачи данных.
- Начиная с:
- 1.3
getPixelSize
public int getPixelSize()
ColorModel.- Возвращает:
- количество битов на пиксель.
getComponentSize
public int getComponentSize(int componentIdx)
ColorSpace. Обычно этот порядок соответствует названию типа пространства цветов. Например, для TYPE_RGB индекс 0 соответствует красному цвету, индекс 1 — зелёному, а индекс 2 — синему. Если эта ColorModel поддерживает альфа-канал, его компонента соответствует индексу, следующему за последней цветовой компонентой.- Параметры:
-
componentIdx— индекс компоненты цвета/альфа-канала - Возвращает:
- количество битов для компоненты цвета/альфа-канала с указанным индексом.
- Вызывает исключение:
-
ArrayIndexOutOfBoundsException— еслиcomponentIdxбольше или равен количеству компонент либо меньше нуля -
NullPointerException— если массив количества битов равенnull
getComponentSize
public int[] getComponentSize()
ColorSpace, а за ними — компоненту альфа-канала, если она есть.- Возвращает:
- массив, содержащий количество битов на компоненту цвета/альфа-канала
getTransparency
public int getTransparency()
- Определено в:
-
getTransparencyв интерфейсеTransparency - Возвращает:
- тип прозрачности этой
ColorModel. - См. также:
getNumComponents
public int getNumComponents()
ColorModel. Оно равно количеству цветовых компонент, при необходимости увеличенному на единицу, если присутствует компонента альфа-канала.- Возвращает:
- количество компонент в этой
ColorModel
getNumColorComponents
public int getNumColorComponents()
ColorModel. Это количество компонент, возвращаемое методом ColorSpace.getNumComponents().- Возвращает:
- количество цветовых компонент в этой
ColorModel. - См. также:
getRed
public abstract int getRed(int pixel)
IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представлять одним значением int. Возвращаемое значение не является предварительно умноженным. Например, если значение альфа-канала предварительно умножено, этот метод делит его на значение альфа-канала перед возвратом. Если значение альфа-канала равно 0, значение красного цвета равно 0.- Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение компоненты красного цвета указанного пикселя.
getGreen
public abstract int getGreen(int pixel)
IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представлять одним значением int. Возвращаемое значение не является предварительно умноженным. Например, если значение альфа-канала предварительно умножено, этот метод делит его на значение альфа-канала перед возвратом. Если значение альфа-канала равно 0, значение зелёного цвета равно 0.- Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение компоненты зелёного цвета указанного пикселя.
getBlue
public abstract int getBlue(int pixel)
IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представлять одним значением int. Возвращаемое значение не является предварительно умноженным; например, если значение альфа-канала предварительно умножено, этот метод делит его на значение альфа-канала перед возвратом. Если значение альфа-канала равно 0, значение синего цвета равно 0.- Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение компоненты синего цвета указанного пикселя.
getAlpha
public abstract int getAlpha(int pixel)
IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представлять одним значением int.- Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение компоненты альфа-канала указанного пикселя.
getRGB
public int getRGB(int pixel)
IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представлять одним значением int. Возвращаемое значение имеет формат без предварительного умножения. Например, если значение альфа-канала предварительно умножено, этот метод делит цветовые компоненты на него. Если значение альфа-канала равно 0, значения цвета равны 0.- Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение RGB, содержащее компоненты цвета/альфа-канала указанного пикселя.
- См. также:
getRed
public int getRed(Object inData)
ColorSpace, sRGB. При необходимости выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в виде ссылки на объект. Возвращаемое значение не является предварительно умноженным. Например, если значение альфа-канала предварительно умножено, этот метод делит его на значение альфа-канала перед возвратом. Если значение альфа-канала равно 0, значение красного цвета равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Если эта transferType не поддерживается, будет выброшено UnsupportedOperationException. Поскольку ColorModel — абстрактный класс, любой экземпляр должен быть экземпляром подкласса. Подклассы наследуют реализацию этого метода; если они не переопределяют его, метод выбрасывает исключение, если подкласс использует transferType, отличный от DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT.- Параметры:
-
inData— массив значений пикселей - Возвращает:
- значение компоненты красного цвета указанного пикселя.
- Вызывает исключение:
-
ClassCastException— еслиinDataне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException— еслиinDataнедостаточно велик, чтобы вместить значение пикселя для этойColorModel -
UnsupportedOperationException— если этаtransferTypeне поддерживается даннойColorModel
getGreen
public int getGreen(Object inData)
ColorSpace, sRGB. При необходимости выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в виде ссылки на объект. Возвращаемое значение не будет предварительно умноженным. Например, если значение альфа-канала предварительно умножено, этот метод делит его на значение альфа-канала перед возвратом. Если значение альфа-канала равно 0, значение зелёного цвета равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Если эта transferType не поддерживается, будет выброшено UnsupportedOperationException. Поскольку ColorModel — абстрактный класс, любой экземпляр должен быть экземпляром подкласса. Подклассы наследуют реализацию этого метода; если они не переопределяют его, метод выбрасывает исключение, если подкласс использует transferType, отличный от DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT.- Параметры:
-
inData— массив значений пикселей - Возвращает:
- значение компоненты зелёного цвета указанного пикселя.
- Вызывает исключение:
-
ClassCastException— еслиinDataне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException— еслиinDataнедостаточно велик, чтобы вместить значение пикселя для этойColorModel -
UnsupportedOperationException— если этаtransferTypeне поддерживается даннойColorModel
getBlue
public int getBlue(Object inData)
ColorSpace, sRGB. При необходимости выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в виде ссылки на объект. Возвращаемое значение не является предварительно умноженным. Например, если значение альфа-канала предварительно умножено, этот метод делит его на значение альфа-канала перед возвратом. Если значение альфа-канала равно 0, значение синего цвета равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Если эта transferType не поддерживается, будет выброшено UnsupportedOperationException. Поскольку ColorModel — абстрактный класс, любой экземпляр должен быть экземпляром подкласса. Подклассы наследуют реализацию этого метода; если они не переопределяют его, метод выбрасывает исключение, если подкласс использует transferType, отличный от DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT.- Параметры:
-
inData— массив значений пикселей - Возвращает:
- значение компоненты синего цвета указанного пикселя.
- Вызывает исключение:
-
ClassCastException— еслиinDataне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException— еслиinDataнедостаточно велик, чтобы вместить значение пикселя для этойColorModel -
UnsupportedOperationException— если этаtransferTypeне поддерживается даннойColorModel
getAlpha
public int getAlpha(Object inData)
ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Если эта transferType не поддерживается, будет выброшено UnsupportedOperationException. Поскольку ColorModel — абстрактный класс, любой экземпляр должен быть экземпляром подкласса. Подклассы наследуют реализацию этого метода; если они не переопределяют его, метод выбрасывает исключение, если подкласс использует transferType, отличный от DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT.- Параметры:
-
inData— указанный пиксель - Возвращает:
- компоненту альфа-канала указанного пикселя, масштабированную от 0 до 255.
- Вызывает исключение:
-
ClassCastException— еслиinDataне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException— еслиinDataнедостаточно велик, чтобы вместить значение пикселя для этойColorModel -
UnsupportedOperationException— если этаtransferTypeне поддерживается даннойColorModel
getRGB
public int getRGB(Object inData)
ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Возвращаемое значение будет иметь формат без предварительного умножения, то есть, если значение альфа-канала предварительно умножено, этот метод разделит на него цветовые компоненты (если значение альфа-канала равно 0, значения цвета будут равны 0).- Параметры:
-
inData— указанный пиксель - Возвращает:
- компоненты цвета и альфа-канала указанного пикселя.
- См. также:
getDataElements
public Object getDataElements(int rgb, Object pixel)
ColorModel, используя целочисленное представление пикселя в модели цвета RGB по умолчанию. Этот массив можно передать методу WritableRaster.setDataElements(int, int, Object) объекта WritableRaster. Если переменная pixel имеет значение null, будет выделен новый массив. Если pixel не равно null, оно должно быть примитивным массивом типа transferType; в противном случае выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если pixel недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Возвращается массив пикселя. Если эта transferType не поддерживается, будет выброшено UnsupportedOperationException. Поскольку ColorModel — абстрактный класс, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределять этот метод, поскольку реализация в этом абстрактном классе выбрасывает UnsupportedOperationException.- Параметры:
-
rgb— целочисленное представление пикселя в модели цвета RGB по умолчанию -
pixel— указанный пиксель - Возвращает:
- представление указанного пикселя в виде массива для этой
ColorModel. - Вызывает исключение:
-
ClassCastException— еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException— еслиpixelнедостаточно велик, чтобы вместить значение пикселя для этойColorModel -
UnsupportedOperationException— если этот метод не поддерживается даннойColorModel - См. также:
getComponents
public int[] getComponents(int pixel, int[] components, int offset)
ColorModel. Значение пикселя задаётся как int. Выбрасывается IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представлять одним значением int или если значения цветовых компонент для этой ColorModel неудобно представлять в ненормализованном виде. Например, этот метод можно использовать для получения компонент заданного значения пикселя в DirectColorModel. Если массив components равен null, будет выделен новый массив. Возвращается массив components. Компоненты цвета/альфа-канала сохраняются в массиве components начиная с offset (даже если массив выделен этим методом). Выбрасывается ArrayIndexOutOfBoundsException, если массив components не равен null и недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала (начиная с указанного смещения). Поскольку ColorModel — абстрактный класс, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределять этот метод, поскольку реализация в этом абстрактном классе выбрасывает UnsupportedOperationException.- Параметры:
-
pixel— указанный пиксель -
components— массив для получения компонент цвета и альфа-канала указанного пикселя -
offset— смещение в массивеcomponents, с которого начинается сохранение компонент цвета и альфа-канала - Возвращает:
- массив, содержащий компоненты цвета и альфа-канала указанного пикселя, начиная с указанного смещения.
- Вызывает исключение:
-
UnsupportedOperationException— если этот метод не поддерживается даннойColorModel
getComponents
public int[] getComponents(Object pixel, int[] components, int offset)
ColorModel. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в виде ссылки на объект. Если pixel не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается IllegalArgumentException, если значения цветовых компонент для этой ColorModel неудобно представлять в ненормализованном виде. Выбрасывается ArrayIndexOutOfBoundsException, если pixel недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Этот метод можно использовать для получения компонент заданного значения пикселя в любой ColorModel. Если массив components равен null, будет выделен новый массив. Возвращается массив components. Компоненты цвета/альфа-канала сохраняются в массиве components начиная с offset (даже если массив выделен этим методом). Выбрасывается ArrayIndexOutOfBoundsException, если массив components не равен null и недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала (начиная с offset). Поскольку ColorModel — абстрактный класс, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределять этот метод, поскольку реализация в этом абстрактном классе выбрасывает UnsupportedOperationException.- Параметры:
-
pixel— указанный пиксель -
components— массив для получения компонент цвета и альфа-канала указанного пикселя -
offset— индекс в массивеcomponents, с которого начинается сохранение компонент цвета и альфа-канала указанного пикселя - Возвращает:
- массив, содержащий компоненты цвета и альфа-канала указанного пикселя, начиная с указанного смещения.
- Вызывает исключение:
-
UnsupportedOperationException— если этот метод не поддерживается даннойColorModel
getUnnormalizedComponents
public int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
ColorSpace для этого ColorModel. Будет выброшено исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel невозможно удобно представить в ненормализованной форме. Если массив components равен null, будет выделен новый массив. Будет возвращен массив components. Цветовые компоненты и компоненты альфа-канала сохраняются в массиве components, начиная с позиции offset (даже если массив выделен этим методом). Будет выброшено исключение ArrayIndexOutOfBoundsException, если массив components не равен null и недостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала (начиная с позиции offset). Будет выброшено исключение IllegalArgumentException, если массив normComponents недостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала начиная с позиции normOffset.- Параметры:
-
normComponents- массив, содержащий нормализованные компоненты -
normOffset- смещение в массивеnormComponents, с которого начинается получение нормализованных компонентов -
components- массив, в который помещаются компоненты изnormComponents -
offset- индекс вcomponents, с которого начинается сохранение нормализованных компонентов изnormComponents - Возвращает:
- массив, содержащий ненормализованные цветовые компоненты и компоненты альфа-канала.
- Выбрасывает:
-
IllegalArgumentException- если значения компонентов для этогоColorModelневозможно удобно представить в ненормализованной форме. -
IllegalArgumentException- если длинаnormComponentsминусnormOffsetменьшеnumComponents -
UnsupportedOperationException- если конструктор этогоColorModelвызвал конструкторsuper(bits), но не переопределил этот метод. См. конструкторColorModel(int).
getNormalizedComponents
public float[] getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
ColorSpace для этого ColorModel. Будет выброшено исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel невозможно удобно представить в ненормализованной форме. Если массив normComponents равен null, будет выделен новый массив. Будет возвращен массив normComponents. Цветовые компоненты и компоненты альфа-канала сохраняются в массиве normComponents, начиная с позиции normOffset (даже если массив выделен этим методом). Будет выброшено исключение ArrayIndexOutOfBoundsException, если массив normComponents не равен null и недостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала (начиная с позиции normOffset). Будет выброшено исключение IllegalArgumentException, если массив components недостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала начиная с позиции offset. Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Реализация этого метода по умолчанию в данном абстрактном классе предполагает, что значения компонентов этого класса можно удобно представить в ненормализованной форме. Поэтому подклассы, экземпляры которых могут не поддерживать ненормализованную форму, должны переопределить этот метод.
- Параметры:
-
components- массив, содержащий ненормализованные компоненты -
offset- смещение в массивеcomponents, с которого начинается получение ненормализованных компонентов -
normComponents- массив, в который помещаются нормализованные компоненты -
normOffset- индекс вnormComponents, с которого начинается сохранение нормализованных компонентов - Возвращает:
- массив, содержащий нормализованные цветовые компоненты и компоненты альфа-канала.
- Выбрасывает:
-
IllegalArgumentException- если значения компонентов для этогоColorModelневозможно удобно представить в ненормализованной форме. -
UnsupportedOperationException- если конструктор этогоColorModelвызвал конструкторsuper(bits), но не переопределил этот метод. См. конструкторColorModel(int). -
UnsupportedOperationException- если этот метод не может определить количество битов на компонент
getDataElement
public int getDataElement(int[] components, int offset)
int в этом ColorModel, на основе массива ненормализованных цветовых компонентов и компонентов альфа-канала. Этот метод выбросит исключение IllegalArgumentException, если значения компонентов для этого ColorModel невозможно удобно представить в виде одного int или если значения цветовых компонентов для этого ColorModel невозможно удобно представить в ненормализованной форме. Будет выброшено исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала (начиная с позиции offset). Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, поскольку его реализация в данном абстрактном классе выбрасывает исключение UnsupportedOperationException.- Параметры:
-
components- массив ненормализованных цветовых компонентов и компонентов альфа-канала -
offset- индекс вcomponents, с которого начинается получение цветовых компонентов и компонентов альфа-канала - Возвращает:
- значение пикселя типа
intв этомColorModel, соответствующее указанным компонентам. - Выбрасывает:
-
IllegalArgumentException- если значения пикселей для этогоColorModelневозможно удобно представить в виде одногоint -
IllegalArgumentException- если значения компонентов для этогоColorModelневозможно удобно представить в ненормализованной форме -
ArrayIndexOutOfBoundsException- если массивcomponentsнедостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала начиная с позицииoffset -
UnsupportedOperationException- если этот метод не поддерживается этимColorModel
getDataElements
public Object getDataElements(int[] components, int offset, Object obj)
ColorModel на основе массива ненормализованных цветовых компонентов и компонентов альфа-канала. Этот массив можно передать методу setDataElements объекта WritableRaster. Будет выброшено исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel невозможно удобно представить в ненормализованной форме. Будет выброшено исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала (начиная с позиции offset). Если переменная obj равна null, будет выделен новый массив. Если obj не равен null, он должен быть примитивным массивом типа transferType; в противном случае будет выброшено исключение ClassCastException. Будет выброшено исключение ArrayIndexOutOfBoundsException, если obj недостаточно велик, чтобы вместить значение пикселя для этого ColorModel. Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, поскольку его реализация в данном абстрактном классе выбрасывает исключение UnsupportedOperationException.- Параметры:
-
components- массив ненормализованных цветовых компонентов и компонентов альфа-канала -
offset- индекс вcomponents, с которого начинается получение цветовых компонентов и компонентов альфа-канала -
obj- объектObject, представляющий массив цветовых компонентов и компонентов альфа-канала - Возвращает:
- объект
Object, представляющий массив цветовых компонентов и компонентов альфа-канала. - Выбрасывает:
-
ClassCastException- еслиobjне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиobjнедостаточно велик, чтобы вместить значение пикселя для этогоColorModel, или массивcomponentsнедостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала начиная с позицииoffset -
IllegalArgumentException- если значения компонентов для этогоColorModelневозможно удобно представить в ненормализованной форме -
UnsupportedOperationException- если этот метод не поддерживается этимColorModel - См. также:
getDataElement
public int getDataElement(float[] normComponents, int normOffset)
int в этом ColorModel, на основе массива нормализованных цветовых компонентов и компонентов альфа-канала. Этот метод выбросит исключение IllegalArgumentException, если значения пикселей для этого ColorModel невозможно удобно представить в виде одного int. Будет выброшено исключение ArrayIndexOutOfBoundsException, если массив normComponents недостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала (начиная с позиции normOffset). Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Реализация этого метода по умолчанию в данном абстрактном классе сначала преобразует данные из нормализованной формы в ненормализованную, а затем вызывает getDataElement(int[], int). Подклассы, экземпляры которых могут не поддерживать ненормализованную форму, должны переопределить этот метод.- Параметры:
-
normComponents- массив нормализованных цветовых компонентов и компонентов альфа-канала -
normOffset- индекс вnormComponents, с которого начинается получение цветовых компонентов и компонентов альфа-канала - Возвращает:
- значение пикселя типа
intв этомColorModel, соответствующее указанным компонентам. - Выбрасывает:
-
IllegalArgumentException- если значения пикселей для этогоColorModelневозможно удобно представить в виде одногоint -
ArrayIndexOutOfBoundsException- если массивnormComponentsнедостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала начиная с позицииnormOffset - Начиная с версии:
- 1.4
getDataElements
public Object getDataElements(float[] normComponents, int normOffset, Object obj)
ColorModel на основе массива нормализованных цветовых компонентов и компонентов альфа-канала. Этот массив можно передать методу setDataElements объекта WritableRaster. Будет выброшено исключение ArrayIndexOutOfBoundsException, если массив normComponents недостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала (начиная с позиции normOffset). Если переменная obj равна null, будет выделен новый массив. Если obj не равен null, он должен быть примитивным массивом типа transferType; в противном случае будет выброшено исключение ClassCastException. Будет выброшено исключение ArrayIndexOutOfBoundsException, если obj недостаточно велик, чтобы вместить значение пикселя для этого ColorModel. Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Реализация этого метода по умолчанию в данном абстрактном классе сначала преобразует данные из нормализованной формы в ненормализованную, а затем вызывает getDataElement(int[], int, Object). Подклассы, экземпляры которых могут не поддерживать ненормализованную форму, должны переопределить этот метод.- Параметры:
-
normComponents- массив нормализованных цветовых компонентов и компонентов альфа-канала -
normOffset- индекс вnormComponents, с которого начинается получение цветовых компонентов и компонентов альфа-канала -
obj- примитивный массив данных для хранения возвращаемого пикселя - Возвращает:
- объект
Object, представляющий пиксель в виде примитивного массива данных - Выбрасывает:
-
ClassCastException- еслиobjне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиobjнедостаточно велик, чтобы вместить значение пикселя для этогоColorModel, или массивnormComponentsнедостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала начиная с позицииnormOffset - Начиная с версии:
- 1.4
- См. также:
getNormalizedComponents
public float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
ColorModel. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Если pixel не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Будет выброшено исключение ArrayIndexOutOfBoundsException, если pixel недостаточно велик, чтобы вместить значение пикселя для этого ColorModel. Нормализованные компоненты — это значения типа float в диапазоне от минимального до максимального значения для каждого компонента, заданных объектом ColorSpace для этого ColorModel. Если массив normComponents равен null, будет выделен новый массив. Будет возвращен массив normComponents. Цветовые компоненты и компоненты альфа-канала сохраняются в массиве normComponents, начиная с позиции normOffset (даже если массив выделен этим методом). Будет выброшено исключение ArrayIndexOutOfBoundsException, если массив normComponents не равен null и недостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала (начиная с позиции normOffset). Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Реализация этого метода по умолчанию в данном абстрактном классе сначала получает цветовые компоненты и компоненты альфа-канала в ненормализованной форме с помощью getComponents(Object, int[], int), а затем вызывает getNormalizedComponents(int[], int, float[], int). Подклассы, экземпляры которых могут не поддерживать ненормализованную форму, должны переопределить этот метод.- Параметры:
-
pixel- указанный пиксель -
normComponents- массив для получения нормализованных компонентов -
normOffset- смещение в массивеnormComponents, с которого начинается сохранение нормализованных компонентов - Возвращает:
- массив, содержащий нормализованные цветовые компоненты и компоненты альфа-канала.
- Выбрасывает:
-
ClassCastException- еслиpixelне является примитивным массивом типа transferType -
ArrayIndexOutOfBoundsException- еслиnormComponentsнедостаточно велик, чтобы вместить все цветовые компоненты и компоненты альфа-канала начиная с позицииnormOffset -
ArrayIndexOutOfBoundsException- еслиpixelнедостаточно велик, чтобы вместить значение пикселя для этогоColorModel. -
UnsupportedOperationException- если конструктор этогоColorModelвызвал конструкторsuper(bits), но не переопределил этот метод. См. конструкторColorModel(int). -
UnsupportedOperationException- если этот метод не может определить количество битов на компонент - Начиная с версии:
- 1.4
equals
public boolean equals(Object obj)
Object, которая эквивалентна проверке ==, поскольку этот класс не может обеспечить корректное сравнение на равенство между несколькими независимыми ветвями подклассов. Подклассам рекомендуется переопределить этот метод и реализовать сравнение на равенство для собственных свойств, а также для следующих общих свойств базового класса ColorModel: - Поддержка компонента альфа-канала.
- Предварительно умножен ли альфа-канал.
- Количество битов на пиксель.
- Тип прозрачности: непрозрачная, битовая маска или полупрозрачность.
- Количество компонентов в пикселе.
- Тип
ColorSpace. - Тип массива, используемого для представления значений пикселей.
- Количество значащих битов на каждый цветовой компонент и компонент альфа-канала.
hashCode
public int hashCode()
Object, которая возвращает системный идентификатор класса. Подклассам рекомендуется переопределить этот метод и вычислять хеш для собственных свойств, а также хешировать значения следующих общих свойств базового класса ColorModel: - Поддержка компонента альфа-канала.
- Предварительно умножен ли альфа-канал.
- Количество битов на пиксель.
- Тип прозрачности: непрозрачная, битовая маска или полупрозрачность.
- Количество компонентов в пикселе.
- Тип
ColorSpace. - Тип массива, используемого для представления значений пикселей.
- Количество значащих битов на каждый цветовой компонент и компонент альфа-канала.
getColorSpace
public final ColorSpace getColorSpace()
ColorSpace, связанное с этим ColorModel.- Возвращает:
ColorSpaceэтогоColorModel.
coerceData
public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
isAlphaPremultiplied, исходя из предположения, что текущее состояние данных правильно описано этим ColorModel. Метод может умножить или разделить данные цветового растра на альфа-канал либо ничего не делать, если данные уже находятся в требуемом состоянии. Если данные необходимо преобразовать, этот метод также вернет экземпляр этого ColorModel с правильно установленным флагом isAlphaPremultiplied. Если этот метод не поддерживается данным UnsupportedOperationException, будет выброшено исключение ColorModel. Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, поскольку его реализация в данном абстрактном классе выбрасывает исключение UnsupportedOperationException.- Параметры:
-
raster- данныеWritableRaster -
isAlphaPremultiplied-true, если альфа-канал предварительно умножен; в противном случае —false - Возвращает:
- объект
ColorModel, представляющий преобразованные данные.
isCompatibleRaster
public boolean isCompatibleRaster(Raster raster)
true, если raster совместим с этим ColorModel, и false, если нет. Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, поскольку его реализация в данном абстрактном классе выбрасывает исключение UnsupportedOperationException.- Параметры:
-
raster- объектRaster, совместимость которого проверяется - Возвращает:
-
true, еслиrasterсовместим с этимColorModel. - Выбрасывает:
-
UnsupportedOperationException- если этот метод не реализован для данногоColorModel
createCompatibleWritableRaster
public WritableRaster createCompatibleWritableRaster(int w, int h)
WritableRaster с указанными шириной и высотой и совместимой с этим ColorModel компоновкой данных (SampleModel). Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, поскольку его реализация в данном абстрактном классе выбрасывает исключение UnsupportedOperationException.- Параметры:
-
w- ширина новогоWritableRaster -
h- высота новогоWritableRaster - Возвращает:
- объект
WritableRasterс указанными шириной и высотой. - Выбрасывает:
-
UnsupportedOperationException- если этот метод не поддерживается даннымColorModel - См. также:
createCompatibleSampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
SampleModel с указанными шириной и высотой и совместимой с этим ColorModel компоновкой данных. Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, поскольку его реализация в данном абстрактном классе выбрасывает исключение UnsupportedOperationException.- Параметры:
-
w- ширина новогоSampleModel -
h- высота новогоSampleModel - Возвращает:
- объект
SampleModelс указанными шириной и высотой. - Выбрасывает:
-
UnsupportedOperationException- если этот метод не поддерживается даннымColorModel - См. также:
isCompatibleSampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel с этим ColorModel. Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, поскольку его реализация в данном абстрактном классе выбрасывает исключение UnsupportedOperationException.- Параметры:
-
sm- указанная модельSampleModel - Возвращает:
-
true, если указанная модельSampleModelсовместима с этимColorModel; в противном случае —false. - Выбрасывает:
-
UnsupportedOperationException- если этот метод не поддерживается даннымColorModel - См. также:
getAlphaRaster
public WritableRaster getAlphaRaster(WritableRaster raster)
Raster, представляющий альфа-канал изображения, извлеченный из входного Raster, если значения пикселей этого ColorModel представляют информацию о цвете и альфа-канале в виде отдельных пространственных полос (например, ComponentColorModel и DirectColorModel). Этот метод предполагает, что объекты Raster, связанные с таким ColorModel, хранят полосу альфа-канала, если она имеется, последней в данных изображения. Возвращает null, если с этим ColorModel не связан отдельный пространственный альфа-канал. Если это IndexColorModel, таблица поиска которого содержит альфа-канал, метод вернет null, поскольку отдельного пространственного альфа-канала нет. Этот метод создаст новый Raster (но будет использовать общий массив данных). Поскольку ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, чтобы обеспечить поведение, отличное от возврата null, поскольку реализация в данном абстрактном классе возвращает null.- Параметры:
-
raster- указанныйRaster - Возвращает:
Raster, представляющий альфа-канал изображения, полученный из указанногоRaster.
toString
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/image/ColorModel.html