Spec-Zone.ru › OpenJDK 25

Класс DirectColorModel

java.lang.Object
java.awt.image.ColorModel
java.awt.image.PackedColorModel
java.awt.image.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
  • ColorSpace
  • SinglePixelPackedSampleModel
  • BufferedImage
  • ColorModel.getRGBdefault()

Краткое описание полей

Поля, объявленные в классе ColorModel

pixel_bits, transferType

Поля, объявленные в интерфейсе Transparency

BITMASK, OPAQUE, TRANSLUCENT

Краткое описание конструкторов

Конструктор Описание
DirectColorModel(int bits, int rmask, int gmask, int bmask)
Создаёт DirectColorModel на основе заданных масок, указывающих, какие биты представления пикселя типа int содержат отсчёты красного, зелёного и синего цветов.
DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask)
Создаёт DirectColorModel на основе заданных масок, указывающих, какие биты представления пикселя типа int содержат отсчёты красного, зелёного и синего цветов, а также отсчёт альфа-канала, если он присутствует.
DirectColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int transferType)
Создаёт DirectColorModel на основе заданных параметров.

Краткое описание методов

Модификатор и тип Метод Описание
final ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
Приводит данные растра в соответствие с состоянием, заданным в переменной isAlphaPremultiplied, предполагая, что в данный момент данные правильно описаны этим ColorModel.
final WritableRaster createCompatibleWritableRaster(int w, int h)
Создаёт WritableRaster заданных ширины и высоты с компоновкой данных (SampleModel), совместимой с этим ColorModel.
final int getAlpha(int pixel)
Возвращает компонент альфа-канала для заданного пикселя, масштабированный от 0 до 255.
int getAlpha(Object inData)
Возвращает компонент альфа-канала для заданного пикселя, масштабированный от 0 до 255.
final int getAlphaMask()
Возвращает маску, указывающую, какие биты представления пикселя типа int содержат компонент альфа-канала.
final int getBlue(int pixel)
Возвращает компонент синего цвета для заданного пикселя, масштабированный от 0 до 255 в цветовом ColorSpace RGB по умолчанию — sRGB.
int getBlue(Object inData)
Возвращает компонент синего цвета для заданного пикселя, масштабированный от 0 до 255 в цветовом ColorSpace RGB по умолчанию — sRGB.
final int getBlueMask()
Возвращает маску, указывающую, какие биты представления пикселя типа int содержат компонент синего цвета.
final int[] getComponents(int pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых компонентов и компонентов альфа-канала для заданного пикселя в этой ColorModel.
final int[] getComponents(Object pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых компонентов и компонентов альфа-канала для заданного пикселя в этой ColorModel.
int getDataElement(int[] components, int offset)
Возвращает значение пикселя в виде int в этой ColorModel на основе массива ненормализованных цветовых компонентов и компонентов альфа-канала.
Object getDataElements(int[] components, int offset, Object obj)
Возвращает представление пикселя в виде массива элементов данных в этой ColorModel на основе массива ненормализованных цветовых компонентов и компонентов альфа-канала.
Object getDataElements(int rgb, Object pixel)
Возвращает представление пикселя в виде массива элементов данных в этой ColorModel на основе целочисленного представления пикселя в цветовой модели RGB по умолчанию.
final int getGreen(int pixel)
Возвращает компонент зелёного цвета для заданного пикселя, масштабированный от 0 до 255 в цветовом ColorSpace RGB по умолчанию — sRGB.
int getGreen(Object inData)
Возвращает компонент зелёного цвета для заданного пикселя, масштабированный от 0 до 255 в цветовом ColorSpace RGB по умолчанию — sRGB.
final int getGreenMask()
Возвращает маску, указывающую, какие биты представления пикселя типа int содержат компонент зелёного цвета.
final int getRed(int pixel)
Возвращает компонент красного цвета для заданного пикселя, масштабированный от 0 до 255 в цветовом ColorSpace RGB по умолчанию — sRGB.
int getRed(Object inData)
Возвращает компонент красного цвета для заданного пикселя, масштабированный от 0 до 255 в цветовом ColorSpace RGB по умолчанию — sRGB.
final int getRedMask()
Возвращает маску, указывающую, какие биты представления пикселя типа int содержат компонент красного цвета.
final int getRGB(int pixel)
Возвращает цветовые компоненты и компоненты альфа-канала пикселя в формате цветовой модели RGB по умолчанию.
int getRGB(Object inData)
Возвращает цветовые компоненты и компоненты альфа-канала заданного пикселя в формате цветовой модели RGB по умолчанию.
boolean isCompatibleRaster(Raster raster)
Возвращает 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

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

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)
Возвращает компоненту красного цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве sRGB — пространстве ColorSpace RGB по умолчанию. При необходимости выполняется преобразование цвета. Значение пикселя задается как int. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит его значение перед возвратом результата. Например, если значение альфа-канала равно 0, значение красного цвета равно 0.
Определено в:
getRed в классе ColorModel
Параметры:
pixel — указанный пиксель
Возвращает:
компоненту красного цвета указанного пикселя в диапазоне от 0 до 255 в пространстве sRGB ColorSpace.

getGreen

public final int getGreen(int pixel)
Возвращает компоненту зеленого цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве sRGB — пространстве ColorSpace RGB по умолчанию. При необходимости выполняется преобразование цвета. Значение пикселя задается как int. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит его значение перед возвратом результата. Например, если значение альфа-канала равно 0, значение зеленого цвета равно 0.
Определено в:
getGreen в классе ColorModel
Параметры:
pixel — указанный пиксель
Возвращает:
компоненту зеленого цвета указанного пикселя в диапазоне от 0 до 255 в пространстве sRGB ColorSpace.

getBlue

public final int getBlue(int pixel)
Возвращает компоненту синего цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве sRGB — пространстве ColorSpace RGB по умолчанию. При необходимости выполняется преобразование цвета. Значение пикселя задается как int. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит его значение перед возвратом результата. Например, если значение альфа-канала равно 0, значение синего цвета равно 0.
Определено в:
getBlue в классе ColorModel
Параметры:
pixel — указанный пиксель
Возвращает:
компоненту синего цвета указанного пикселя в диапазоне от 0 до 255 в пространстве sRGB ColorSpace.

getAlpha

public final int getAlpha(int pixel)
Возвращает компоненту альфа-канала указанного пикселя в диапазоне от 0 до 255. Значение пикселя задается как int.
Определено в:
getAlpha в классе ColorModel
Параметры:
pixel — указанный пиксель
Возвращает:
значение компоненты альфа-канала pixel в диапазоне от 0 до 255.

getRGB

public final int getRGB(int pixel)
Возвращает компоненты цвета и альфа-канала пикселя в формате цветовой модели RGB по умолчанию. При необходимости выполняется преобразование цвета. Значение пикселя задается как int. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит на него значения цветовых компонент. Например, если значение альфа-канала равно 0, значения всех цветовых компонент равны 0.
Переопределяет:
getRGB в классе ColorModel
Параметры:
pixel — указанный пиксель
Возвращает:
значение RGB компонентов цвета и альфа-канала указанного пикселя.
См. также:
  • ColorModel.getRGBdefault()

getRed

public int getRed(Object inData)
Возвращает компоненту красного цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве sRGB — пространстве 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)
Возвращает компоненту зеленого цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве sRGB — пространстве 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)
Возвращает компоненту синего цвета для указанного пикселя в диапазоне от 0 до 255 в пространстве sRGB — пространстве 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)
Возвращает компоненту альфа-канала указанного пикселя в диапазоне от 0 до 255. Значение пикселя задается массивом элементов данных типа 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)
Возвращает компоненты цвета и альфа-канала указанного пикселя в формате цветовой модели RGB по умолчанию. При необходимости выполняется преобразование цвета. Значение пикселя задается массивом элементов данных типа transferType, переданным в виде ссылки на объект. Если inData не является примитивным массивом типа transferType, генерируется исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException генерируется, если inData недостаточно велик, чтобы вместить значение пикселя для этой ColorModel. Возвращаемое значение не является предварительно умноженным. Поэтому, если альфа-канал предварительно умножен, этот метод делит на него значения цветовых компонент. Например, если значение альфа-канала равно 0, значение цвета равно 0. Поскольку DirectColorModel может иметь подклассы, они наследуют реализацию этого метода и, если не переопределяют его, выбрасывают исключение при использовании неподдерживаемого transferType.
Переопределяет:
getRGB в классе ColorModel
Параметры:
inData — указанный пиксель
Возвращает:
компоненты цвета и альфа-канала указанного пикселя.
Исключения:
UnsupportedOperationException — если эта transferType не поддерживается данной ColorModel
См. также:
  • ColorModel.getRGBdefault()

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
См. также:
  • WritableRaster.setDataElements(int, int, Object)
  • SampleModel.setDataElements(int, int, Object, DataBuffer)

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 меньше или равно нулю
См. также:
  • WritableRaster
  • SampleModel

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 не поддерживается данной цветовой моделью
См. также:
  • WritableRaster.setDataElements(int, int, Object)
  • SampleModel.setDataElements(int, int, Object, DataBuffer)

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.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе документации Java SE, которая содержит более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API