Класс DirectColorModel
- Все реализуемые интерфейсы:
Transparency
public class DirectColorModel extends PackedColorModel
DirectColorModel — это класс ColorModel, который работает со значениями пикселей, представляющими цветовую информацию RGB и информацию альфа-канала в виде отдельных отсчётов, и упаковывает все отсчёты для одного пикселя в одну величину типа int, short или byte. Этот класс можно использовать только с цветовыми пространствами типа ColorSpace.TYPE_RGB. Кроме того, для каждого компонента ColorSpace минимальное нормализованное значение компонента, полученное с помощью метода getMinValue() класса ColorSpace, должно быть равно 0.0, а максимальное значение, полученное с помощью метода getMaxValue(), должно быть равно 1.0 (эти минимальное и максимальное значения типичны для пространств 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
Многие методы этого класса являются final. Это связано с тем, что базовый собственный графический код предполагает определённую структуру и работу этого класса, и эти предположения отражены в реализациях методов, помеченных здесь как final. Вы можете создавать подклассы этого класса по другим причинам, но не можете переопределять или изменять поведение этих методов.
- См. также:
Краткое описание полей
Поля, объявленные в классе ColorModel
pixel_bits, transferType
Поля, объявленные в интерфейсе 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 в цветовом ColorSpace RGB по умолчанию — sRGB. |
int |
getBlue |
Возвращает компонент синего цвета для заданного пикселя, масштабированный от 0 до 255 в цветовом ColorSpace RGB по умолчанию — 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 в цветовом ColorSpace RGB по умолчанию — sRGB. |
int |
getGreen |
Возвращает компонент зелёного цвета для заданного пикселя, масштабированный от 0 до 255 в цветовом ColorSpace RGB по умолчанию — sRGB. |
final int |
getGreenMask() |
Возвращает маску, указывающую, какие биты представления пикселя типа int содержат компонент зелёного цвета. |
final int |
getRed |
Возвращает компонент красного цвета для заданного пикселя, масштабированный от 0 до 255 в цветовом ColorSpace RGB по умолчанию — sRGB. |
int |
getRed |
Возвращает компонент красного цвета для заданного пикселя, масштабированный от 0 до 255 в цветовом ColorSpace RGB по умолчанию — sRGB. |
final int |
getRedMask() |
Возвращает маску, указывающую, какие биты представления пикселя типа int содержат компонент красного цвета. |
final int |
getRGB |
Возвращает цветовые компоненты и компоненты альфа-канала пикселя в формате цветовой модели RGB по умолчанию. |
int |
getRGB |
Возвращает цветовые компоненты и компоненты альфа-канала заданного пикселя в формате цветовой модели RGB по умолчанию. |
boolean |
isCompatibleRaster |
Возвращает true, если raster совместим с этой ColorModel, и false в противном случае. |
String |
toString() |
Возвращает String, представляющий эту DirectColorModel. |
Методы, объявленные в классе PackedColorModel
createCompatibleSampleModel, equals, getAlphaRaster, getMask, getMasks, hashCode, isCompatibleSampleModel
Методы, объявленные в классе 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)
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 RGB по умолчанию. При необходимости выполняется преобразование цвета. Значение пикселя задается как int. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит его значение перед возвратом результата. Например, если значение альфа-канала равно 0, значение красного цвета равно 0.- Определено в:
-
getRedв классеColorModel - Параметры:
-
pixel— указанный пиксель - Возвращает:
- компоненту красного цвета указанного пикселя в диапазоне от 0 до 255 в пространстве sRGB
ColorSpace.
getGreen
public final int getGreen(int pixel)
ColorSpace RGB по умолчанию. При необходимости выполняется преобразование цвета. Значение пикселя задается как int. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит его значение перед возвратом результата. Например, если значение альфа-канала равно 0, значение зеленого цвета равно 0.- Определено в:
-
getGreenв классеColorModel - Параметры:
-
pixel— указанный пиксель - Возвращает:
- компоненту зеленого цвета указанного пикселя в диапазоне от 0 до 255 в пространстве sRGB
ColorSpace.
getBlue
public final int getBlue(int pixel)
ColorSpace RGB по умолчанию. При необходимости выполняется преобразование цвета. Значение пикселя задается как 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 RGB по умолчанию. При необходимости выполняется преобразование цвета. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит его значение перед возвратом результата. Например, если значение альфа-канала равно 0, значение красного цвета равно 0. Если inData не является примитивным массивом типа transferType, генерируется исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException генерируется, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Поскольку DirectColorModel может иметь подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType. Исключение UnsupportedOperationException генерируется, если эта transferType не поддерживается данной ColorModel.- Переопределяет:
-
getRedв классеColorModel - Параметры:
-
inData— массив, содержащий значение пикселя - Возвращает:
- значение красной компоненты указанного пикселя.
- Исключения:
-
ArrayIndexOutOfBoundsException— еслиinDataнедостаточно велик, чтобы вместить значение пикселя для этой цветовой модели -
ClassCastException— еслиinDataне является примитивным массивом типаtransferType -
UnsupportedOperationException— если этаtransferTypeне поддерживается данной цветовой моделью
getGreen
public int getGreen(Object inData)
ColorSpace RGB по умолчанию. При необходимости выполняется преобразование цвета. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит его значение перед возвратом результата. Например, если значение альфа-канала равно 0, значение зеленого цвета равно 0. Если inData не является примитивным массивом типа transferType, генерируется исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException генерируется, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Поскольку DirectColorModel может иметь подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType. Исключение UnsupportedOperationException генерируется, если эта transferType не поддерживается данной ColorModel.- Переопределяет:
-
getGreenв классеColorModel - Параметры:
-
inData— массив, содержащий значение пикселя - Возвращает:
- значение зеленой компоненты указанного пикселя.
- Исключения:
-
ArrayIndexOutOfBoundsException— еслиinDataнедостаточно велик, чтобы вместить значение пикселя для этой цветовой модели -
ClassCastException— еслиinDataне является примитивным массивом типаtransferType -
UnsupportedOperationException— если этаtransferTypeне поддерживается данной цветовой моделью
getBlue
public int getBlue(Object inData)
ColorSpace RGB по умолчанию. При необходимости выполняется преобразование цвета. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит его значение перед возвратом результата. Например, если значение альфа-канала равно 0, значение синего цвета равно 0. Если inData не является примитивным массивом типа transferType, генерируется исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException генерируется, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Поскольку DirectColorModel может иметь подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType. Исключение UnsupportedOperationException генерируется, если эта transferType не поддерживается данной ColorModel.- Переопределяет:
-
getBlueв классеColorModel - Параметры:
-
inData— массив, содержащий значение пикселя - Возвращает:
- значение синей компоненты указанного пикселя.
- Исключения:
-
ArrayIndexOutOfBoundsException— еслиinDataнедостаточно велик, чтобы вместить значение пикселя для этой цветовой модели -
ClassCastException— еслиinDataне является примитивным массивом типаtransferType -
UnsupportedOperationException— если этаtransferTypeне поддерживается данной цветовой моделью
getAlpha
public int getAlpha(Object inData)
transferType, переданным в виде ссылки на объект. Если inData не является примитивным массивом типа transferType, генерируется исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException генерируется, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Поскольку DirectColorModel может иметь подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType. Если эта transferType не поддерживается, генерируется исключение UnsupportedOperationException.- Переопределяет:
-
getAlphaв классеColorModel - Параметры:
-
inData— указанный пиксель - Возвращает:
- компоненту альфа-канала указанного пикселя в диапазоне от 0 до 255.
- Исключения:
-
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.- Переопределяет:
-
getRGBв классеColorModel - Параметры:
-
inData— указанный пиксель - Возвращает:
- компоненты цвета и альфа-канала указанного пикселя.
- Исключения:
-
UnsupportedOperationException— если этаtransferTypeне поддерживается даннойColorModel - См. также:
getDataElements
public Object getDataElements(int rgb, Object pixel)
ColorModel на основе целочисленного представления пикселя в цветовой модели RGB по умолчанию. Этот массив затем можно передать методу setDataElements объекта WritableRaster. Если переменная pixel равна null, выделяется новый массив. Если pixel не равно null, оно должно быть примитивным массивом типа transferType; в противном случае генерируется исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException генерируется, если pixel недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Возвращается массив пикселя. Поскольку DirectColorModel может иметь подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType.- Переопределяет:
-
getDataElementsв классеColorModel - Параметры:
-
rgb— целочисленное представление пикселя в цветовой модели RGB по умолчанию -
pixel— указанный пиксель - Возвращает:
- массивное представление указанного пикселя в этой
ColorModel - Исключения:
-
ClassCastException— еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException— еслиpixelнедостаточно велик, чтобы вместить значение пикселя для этойColorModel -
UnsupportedOperationException— если этаtransferTypeне поддерживается даннойColorModel - См. также:
getComponents
public final int[] getComponents(int pixel, int[] components, int offset)
ColorModel. Значение пикселя задается как int. Если массив components равен null, выделяется новый массив. Возвращается массив components. Компоненты цвета и альфа-канала сохраняются в массиве components начиная с позиции offset, даже если массив выделен этим методом. Генерируется исключение ArrayIndexOutOfBoundsException, если массив components не равен null и недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала, начиная с позиции offset.- Переопределяет:
-
getComponentsв классеColorModel - Параметры:
-
pixel— указанный пиксель -
components— массив для получения компонент цвета и альфа-канала указанного пикселя -
offset— смещение в массивеcomponents, с которого начинается сохранение компонент цвета и альфа-канала - Возвращает:
- массив, содержащий компоненты цвета и альфа-канала указанного пикселя, начиная с заданного смещения.
getComponents
public final int[] getComponents(Object pixel, int[] components, int offset)
ColorModel. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Если pixel не является примитивным массивом типа transferType, генерируется исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException генерируется, если pixel недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Если массив components равен null, выделяется новый массив. Возвращается массив components. Компоненты цвета и альфа-канала сохраняются в массиве components начиная с позиции offset, даже если массив выделен этим методом. Генерируется исключение ArrayIndexOutOfBoundsException, если массив components не равен null и недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала, начиная с позиции offset. Поскольку DirectColorModel может иметь подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType.- Переопределяет:
-
getComponentsв классеColorModel - Параметры:
-
pixel— указанный пиксель -
components— массив для получения компонент цвета и альфа-канала указанного пикселя -
offset— смещение в массивеcomponents, с которого начинается сохранение компонент цвета и альфа-канала - Возвращает:
- массив, содержащий компоненты цвета и альфа-канала указанного пикселя, начиная с заданного смещения.
- Исключения:
-
ClassCastException— еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException— еслиpixelнедостаточно велик, чтобы вместить значение пикселя для этойColorModel, или еслиcomponentsне равноnullи недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала, начиная с позицииoffset -
UnsupportedOperationException— если этаtransferTypeне поддерживается данной цветовой моделью
createCompatibleWritableRaster
public final WritableRaster createCompatibleWritableRaster(int w, int h)
WritableRaster с указанными шириной и высотой и совместимой с этой ColorModel структурой данных (SampleModel).- Переопределяет:
-
createCompatibleWritableRasterв классеColorModel - Параметры:
-
w— ширина новогоWritableRaster -
h— высота новогоWritableRaster - Возвращает:
- объект
WritableRasterс указанными шириной и высотой. - Исключения:
-
IllegalArgumentException— еслиwилиhменьше или равно нулю - См. также:
getDataElement
public int getDataElement(int[] components, int offset)
int в этой ColorModel, на основе массива ненормализованных компонент цвета и альфа-канала. Генерируется исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала, начиная с позиции offset.- Переопределяет:
-
getDataElementв классеColorModel - Параметры:
-
components— массив ненормализованных компонент цвета и альфа-канала -
offset— индекс вcomponents, с которого начинается получение компонент цвета и альфа-канала - Возвращает:
- значение пикселя
intв этойColorModel, соответствующее указанным компонентам. - Исключения:
-
ArrayIndexOutOfBoundsException— если массивcomponentsнедостаточно велик, чтобы вместить все компоненты цвета и альфа-канала, начиная с позицииoffset
getDataElements
public Object getDataElements(int[] components, int offset, Object obj)
ColorModel с учетом массива ненормализованных компонентов цвета и альфа-канала. Этот массив можно затем передать методу setDataElements объекта WritableRaster. Выбрасывается ArrayIndexOutOfBoundsException, если массив components недостаточно велик, чтобы вместить все компоненты цвета и альфа-канала, начиная с указанного смещения. Если переменная obj равна null, выделяется новый массив. Если obj не равно null, это должен быть примитивный массив типа transferType; в противном случае выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если obj недостаточно велик, чтобы вместить значение пикселя для этого ColorModel. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода; если они не переопределяют его, то выбрасывают исключение при использовании неподдерживаемого transferType.- Переопределяет:
-
getDataElementsв классеColorModel - Параметры:
-
components- массив ненормализованных компонентов цвета и альфа-канала -
offset- индекс вcomponents, с которого начинается получение компонентов цвета и альфа-канала -
obj-Object, представляющий массив компонентов цвета и альфа-канала - Возвращает:
Object, представляющий массив компонентов цвета и альфа-канала.- Выбрасывает:
-
ClassCastException- еслиobjне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиobjнедостаточно велик, чтобы вместить значение пикселя для этогоColorModel, или массивcomponentsнедостаточно велик, чтобы вместить все компоненты цвета и альфа-канала, начиная сoffset -
UnsupportedOperationException- если этотtransferTypeне поддерживается данной цветовой моделью - См. также:
coerceData
public final ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
isAlphaPremultiplied, исходя из того, что текущие данные правильно описаны этой ColorModel. Метод может умножить или разделить данные цветового растра на альфа-канал либо ничего не делать, если данные уже находятся в нужном состоянии. Если данные требуется преобразовать, этот метод также возвращает экземпляр этой ColorModel с соответствующим значением флага isAlphaPremultiplied. Этот метод выбрасывает UnsupportedOperationException, если данный transferType не поддерживается этой ColorModel. Поскольку ColorModel может быть подклассом, подклассы наследуют реализацию этого метода; если они не переопределяют его, то выбрасывают исключение при использовании неподдерживаемого transferType.- Переопределяет:
-
coerceDataв классеColorModel - Параметры:
-
raster- данныеWritableRaster -
isAlphaPremultiplied-true, если альфа-канал предварительно умножен; в противном случае —false - Возвращает:
- объект
ColorModel, представляющий преобразованные данные. - Выбрасывает:
-
UnsupportedOperationException- если этотtransferTypeне поддерживается данной цветовой моделью
isCompatibleRaster
public boolean isCompatibleRaster(Raster raster)
true, если raster совместим с этой ColorModel, и false, если нет.- Переопределяет:
-
isCompatibleRasterв классеColorModel - Параметры:
-
raster- объектRaster, совместимость которого проверяется - Возвращает:
-
true, еслиrasterсовместим с этойColorModel; в противном случае —false.
toString
public String toString()
String, представляющий эту DirectColorModel.- Переопределяет:
-
toStringв классеColorModel - Возвращает:
String, представляющий этуDirectColorModel.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/image/DirectColorModel.html