Spec-Zone.ru › OpenJDK 17

Класс DirectColorModel

java.lang.Object
java.awt.image.ColorModel
java.awt.image.PackedColorModel
java.awt.image.DirectColorModel
Все реализованные интерфейсы:
Transparency
public class DirectColorModel extends PackedColorModel
Класс DirectColorModel — это класс, работающий с пиксельными значениями, которые представляют информацию о цвете RGB и альфа-канале как отдельные образцы и упаковывающие все образцы для одного пикселя в одно целое число, короткое целое число или байт. Этот класс может использоваться только с цветовыми пространствами типа ColorSpace.TYPE_RGB. Кроме того, для каждого компонента цветового пространства минимальное нормализованное значение компонента, полученное с помощью метода getMinValue() класса ColorSpace, должно быть 0,0, а максимальное значение, полученное с помощью метода getMaxValue(), должно быть 1,0 (эти минимальные/максимальные значения типичны для цветовых пространств RGB). В пиксельных значениях должно быть три образца цвета и может быть один образец альфа-канала. Для методов, использующих примитивный массив пикселей типа transferType, длина массива всегда равна одному. Поддерживаемые типы преобразования — DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT и DataBuffer.TYPE_INT. Образцы цвета и альфа-канала хранятся в единственном элементе массива в битах, указанных масками. Каждая маска должна быть непрерывной и маски не должны перекрываться. Те же маски применяются к представлению одного пикселя в виде целого числа, используемому другими методами. Соответствие масок и образцов цвета/альфа-канала таково:
  • Маски идентифицируются индексами от 0 до 2, если альфа-канал отсутствует, или до 3, если альфа-канал присутствует.
  • Первые три индекса относятся к образцам цвета; индекс 0 соответствует красному, индекс 1 — зеленому, а индекс 2 — синему.
  • Индекс 3 соответствует образцу альфа-канала, если он присутствует.

Перевод из пиксельных значений в цветовые/альфа-компоненты для отображения или обработки представляет собой взаимно однозначное соответствие образцов компонентам. DirectColorModel обычно используется с данными изображения, которые используют маски для определения упакованных образцов. Например, DirectColorModel можно использовать совместно с SinglePixelPackedSampleModel для построения BufferedImage. Обычно маски, используемые SampleModel и ColorModel, совпадают. Однако, если они отличаются, интерпретация цвета пиксельных данных будет выполняться в соответствии с масками ColorModel.

Представление одного пикселя в виде целого числа является допустимым для всех объектов этого класса, так как всегда можно представить пиксельные значения, используемые с этим классом, в виде одного целого числа. Поэтому методы, использующие это представление, не будут выбрасывать IllegalArgumentException из-за некорректного пиксельного значения.

Эта цветовая модель похожа на визуальный элемент X11 TrueColor. По умолчанию цветовая модель RGB, указанная методом getRGBdefault, является DirectColorModel со следующими параметрами:

 Number of bits:        32
 Red mask:              0x00ff0000
 Green mask:            0x0000ff00
 Blue mask:             0x000000ff
 Alpha mask:            0xff000000
 Color space:           sRGB
 isAlphaPremultiplied:  False
 Transparency:          Transparency.TRANSLUCENT
 transferType:          DataBuffer.TYPE_INT
 

Многие методы в этом классе являются final. Это связано с тем, что базовый код графики с нативным API делает предположения о расположении и работе этого класса, и эти предположения отражаются в реализациях помеченных как final методов здесь. Вы можете создать подкласс этого класса по другим причинам, но вы не можете переопределять или изменять поведение этих методов.

См. также:
  • ColorModel
  • ColorSpace
  • SinglePixelPackedSampleModel
  • BufferedImage
  • ColorModel.getRGBdefault()

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

Поля, объявленные в классе java.awt.image.ColorModel

pixel_bits, transferType

Поля, объявленные в интерфейсе java.awt.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 в стандартной цветовой модели RGB ColorSpace, sRGB.
int getBlue(Object inData)
Возвращает синюю компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB ColorSpace, 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 в стандартной цветовой модели RGB ColorSpace, sRGB.
int getGreen(Object inData)
Возвращает зелёную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB ColorSpace, sRGB.
final int getGreenMask()
Возвращает маску, указывающую, какие биты в представлении пикселя int содержат зелёную компоненту цвета.
final int getRed(int pixel)
Возвращает красную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB ColorSpace, sRGB.
int getRed(Object inData)
Возвращает красную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB ColorSpace, 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.

Методы, объявленные в классе java.awt.image.PackedColorModel

createCompatibleSampleModel, equals, getAlphaRaster, getMask, getMasks, hashCode, isCompatibleSampleModel

Методы, объявленные в классе java.awt.image.ColorModel

finalize, getColorSpace, getComponentSize, getComponentSize, getDataElement, getDataElements, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, isAlphaPremultiplied

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

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

getGreen

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

getBlue

public final int getBlue(int pixel)
Возвращает компонент синего цвета для указанного пикселя, масштабированный от 0 до 255 в стандартной RGB ColorSpace, sRGB. При необходимости выполняется преобразование цвета. Значение пикселя задаётся как 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 в стандартной цветовой модели RGB ColorSpace, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Возвращаемое значение не является умноженным на альфа-канал. Таким образом, если альфа-канал умножен, этот метод делит его на него перед возвращением значения. Если значение альфа-канала равно 0, например, значение красного цвета равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если inData недостаточно велик для хранения значения пикселя для этой ColorModel. Так как DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемую transferType. Выбрасывается UnsupportedOperationException, если эта transferType не поддерживается данной ColorModel.
Overrides:
getRed в классе ColorModel
Parameters:
inData - массив, содержащий значение пикселя
Returns:
значение красного компонента указанного пикселя.
Throws:
ArrayIndexOutOfBoundsException - если inData недостаточно велик для хранения значения пикселя для этой цветовой модели
ClassCastException - если inData не является примитивным массивом типа transferType
UnsupportedOperationException - если эта transferType не поддерживается этой цветовой моделью

getGreen

public int getGreen(Object inData)
Возвращает зелёный компонент цвета для указанного пикселя, масштабированный от 0 до 255 в стандартной цветовой модели RGB ColorSpace, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType , переданным в качестве ссылки на объект. Возвращаемое значение не является умноженным на альфа-канал. Таким образом, если альфа-канал умножен, этот метод делит его на него перед возвращением значения. Если значение альфа-канала равно 0, например, значение зелёного цвета равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если inData недостаточно велик для хранения значения пикселя для этой ColorModel. Так как DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемую transferType. Выбрасывается UnsupportedOperationException, если эта transferType не поддерживается данной ColorModel.
Overrides:
getGreen в классе ColorModel
Parameters:
inData - массив, содержащий значение пикселя
Returns:
значение зелёного компонента указанного пикселя.
Throws:
ArrayIndexOutOfBoundsException - если inData недостаточно велик для хранения значения пикселя для этой цветовой модели
ClassCastException - если inData не является примитивным массивом типа transferType
UnsupportedOperationException - если эта transferType не поддерживается этой цветовой моделью

getBlue

public int getBlue(Object inData)
Возвращает синий компонент цвета для указанного пикселя, масштабированный от 0 до 255 в стандартной цветовой модели RGB ColorSpace, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType , переданным в качестве ссылки на объект. Возвращаемое значение не является умноженным на альфа-канал. Таким образом, если альфа-канал умножен, этот метод делит его на него перед возвращением значения. Если значение альфа-канала равно 0, например, значение синего цвета равно 0. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если inData недостаточно велик для хранения значения пикселя для этой ColorModel. Так как DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемую transferType. Выбрасывается UnsupportedOperationException, если эта transferType не поддерживается данной ColorModel.
Overrides:
getBlue в классе ColorModel
Parameters:
inData - массив, содержащий значение пикселя
Returns:
значение синего компонента указанного пикселя.
Throws:
ArrayIndexOutOfBoundsException - если inData недостаточно велик для хранения значения пикселя для этой цветовой модели
ClassCastException - если inData не является примитивным массивом типа transferType
UnsupportedOperationException - если эта transferType не поддерживается этой цветовой моделью

getAlpha

public int getAlpha(Object inData)
Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. Значение пикселя задаётся массивом элементов данных типа transferType , переданным в качестве ссылки на объект. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если inData недостаточно велик для хранения значения пикселя для этой ColorModel. Так как DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемую transferType. Если эта transferType не поддерживается, выбрасывается UnsupportedOperationException.
Overrides:
getAlpha в классе ColorModel
Parameters:
inData - указанный пиксель
Returns:
альфа-компонент указанного пикселя, масштабированный от 0 до 255.
Throws:
ClassCastException - если inData не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если inData недостаточно велик для хранения значения пикселя для этой ColorModel
UnsupportedOperationException - если эта tranferType не поддерживается данной ColorModel

getRGB

public int getRGB(Object inData)
Возвращает компоненты цвета/альфа для указанного пикселя в формате стандартной цветовой модели RGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType , переданным в качестве ссылки на объект. Если inData не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если inData недостаточно велик для хранения значения пикселя для этой ColorModel. Возвращаемое значение имеет формат без умножения на альфа-канал. Таким образом, если альфа-канал умножен, этот метод делит компоненты цвета на него. Если значение альфа-канала равно 0, например, значения цвета равны 0. Так как DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемую transferType.
Overrides:
getRGB в классе ColorModel
Parameters:
inData - указанный пиксель
Returns:
компоненты цвета и альфа указанного пикселя.
Throws:
UnsupportedOperationException - если эта transferType не поддерживается данной ColorModel
See Also:
  • ColorModel.getRGBdefault()

getDataElements

public Object getDataElements(int rgb, Object pixel)
Возвращает массив элементов данных, представляющий пиксель в этой ColorModel, заданный целым числом, представляющим пиксель в стандартной цветовой модели RGB. Этот массив затем может быть передан методу setDataElements объекта WritableRaster. Если переменная пикселя null, создаётся новый массив. Если pixel не null, он должен быть примитивным массивом типа transferType; в противном случае выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если pixel недостаточно велик для хранения значения пикселя для этой ColorModel. Массив пикселей возвращается. Так как DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемую transferType.
Overrides:
getDataElements в классе ColorModel
Parameters:
rgb - целочисленное представление пикселя в стандартной цветовой модели RGB
pixel - указанный пиксель
Returns:
массив данных, представляющий указанный пиксель в этой ColorModel
Throws:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для этой ColorModel
UnsupportedOperationException - если эта transferType не поддерживается данной ColorModel
See Also:
  • WritableRaster.setDataElements(int, int, java.lang.Object)
  • SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

getComponents

public final int[] getComponents(int pixel, int[] components, int offset)
Возвращает массив ненормализованных компонентов цвета/альфа для заданного пикселя в этом ColorModel. Значение пикселя задаётся как int. Если массив components пустой, создаётся новый массив. Возвращается массив components. Компоненты цвета/альфа хранятся в массиве components начиная с индекса offset, даже если массив был выделен этим методом. Бросается исключение ArrayIndexOutOfBoundsException, если массив components не пуст и недостаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset.
Overrides:
getComponents в классе ColorModel
Параметры:
pixel - указанный пиксел
components - массив для хранения компонентов цвета и альфа указанного пикселя
offset - смещение в массиве components для начала хранения компонентов цвета и альфа
Возвращает:
массив, содержащий компоненты цвета и альфа указанного пикселя, начиная со смещения.

getComponents

public final int[] getComponents(Object pixel, int[] components, int offset)
Возвращает массив ненормализованных компонентов цвета/альфа для заданного пикселя в этом ColorModel. Значение пикселя задаётся массивом элементов данных типа transferType, переданным как ссылка на объект. Если pixel не является примитивным массивом типа transferType, бросается исключение ClassCastException. Бросается исключение ArrayIndexOutOfBoundsException, если pixel недостаточно велик для хранения значения пикселя для этого ColorModel. Если массив components пустой, создаётся новый массив. Возвращается массив components. Компоненты цвета/альфа хранятся в массиве components начиная с индекса offset, даже если массив был выделен этим методом. Бросается исключение ArrayIndexOutOfBoundsException, если массив components не пуст и недостаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то бросают исключение, если используют неподдерживаемый transferType.
Overrides:
getComponents в классе ColorModel
Параметры:
pixel - указанный пиксел
components - массив для хранения компонентов цвета и альфа указанного пикселя
offset - смещение в массиве components для начала хранения компонентов цвета и альфа
Возвращает:
массив, содержащий компоненты цвета и альфа указанного пикселя, начиная со смещения.
Бросает:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для этого ColorModel, или если components не пуст и недостаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset
UnsupportedOperationException - если этот transferType не поддерживается этой моделью цвета

createCompatibleWritableRaster

public final WritableRaster createCompatibleWritableRaster(int w, int h)
Создаёт WritableRaster с указанной шириной и высотой, имеющей структуру данных (SampleModel) совместимую с этим ColorModel.
Overrides:
createCompatibleWritableRaster в классе ColorModel
Параметры:
w - ширина нового WritableRaster
h - высота нового WritableRaster
Возвращает:
объект WritableRaster с указанной шириной и высотой.
Бросает:
IllegalArgumentException - если w или h меньше или равно нулю
См. также:
  • WritableRaster
  • SampleModel

getDataElement

public int getDataElement(int[] components, int offset)
Возвращает значение пикселя, представленное как int в этом ColorModel, на основании массива ненормализованных компонентов цвета/альфа. Бросается исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset.
Overrides:
getDataElement в классе ColorModel
Параметры:
components - массив ненормализованных компонентов цвета и альфа
offset - индекс в массиве components для начала извлечения компонентов цвета и альфа
Возвращает:
значение пикселя int в этом ColorModel соответствующее заданным компонентам.
Бросает:
ArrayIndexOutOfBoundsException - если массив components недостаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset

getDataElements

public Object getDataElements(int[] components, int offset, Object obj)
Возвращает массив данных элемента пикселя в этом ColorModel, на основании массива ненормализованных компонентов цвета/альфа. Этот массив затем можно передать в метод setDataElements объекта WritableRaster. Бросается исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех компонентов цвета и альфа, начиная со смещения. Если переменная obj равна null, создаётся новый массив. Если obj не пуст, то он должен быть примитивным массивом типа transferType; в противном случае, бросается исключение ClassCastException. Бросается исключение ArrayIndexOutOfBoundsException, если obj недостаточно велик для хранения значения пикселя для этого ColorModel. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то бросают исключение, если используют неподдерживаемый transferType.
Overrides:
getDataElements в классе ColorModel
Параметры:
components - массив ненормализованных компонентов цвета и альфа
offset - индекс в массиве components для начала извлечения компонентов цвета и альфа
obj - объект Object, представляющий массив компонентов цвета и альфа
Возвращает:
объект Object, представляющий массив компонентов цвета и альфа.
Бросает:
ClassCastException - если obj не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если obj недостаточно велик для хранения значения пикселя для этого ColorModel или массив components недостаточно велик для хранения всех компонентов цвета и альфа, начиная с индекса offset
UnsupportedOperationException - если этот transferType не поддерживается этой моделью цвета
См. также:
  • WritableRaster.setDataElements(int, int, java.lang.Object)
  • SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

coerceData

public final ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
Принудительно приводит данные растра к состоянию, указанному в переменной isAlphaPremultiplied, предполагая, что данные в настоящее время правильно описаны этим ColorModel. Может умножать или делить данные растра цвета на альфа, или ничего не делать, если данные в правильном состоянии. Если данные нужно привести к определённому состоянию, этот метод также вернёт экземпляр этого ColorModel с соответствующим флагом isAlphaPremultiplied. Этот метод бросит исключение UnsupportedOperationException, если этот тип преобразования не поддерживается этой ColorModel. Поскольку ColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то бросают исключение, если используют неподдерживаемый тип преобразования.
Overrides:
coerceData в классе ColorModel
Параметры:
raster - данные растра
isAlphaPremultiplied - true если альфа предопределена; false в противном случае
Возвращает:
объект ColorModel представляющий приведённые данные.
Бросает:
UnsupportedOperationException - если этот transferType не поддерживается этой моделью цвета

isCompatibleRaster

public boolean isCompatibleRaster(Raster raster)
Возвращает true, если raster совместим с этим ColorModel, и false, если нет.
Overrides:
isCompatibleRaster в классе ColorModel
Параметры:
raster - объект Raster для проверки совместимости
Возвращает:
true если raster совместим с этим ColorModel; false в противном случае.

toString

public String toString()
Возвращает String представляющий этот DirectColorModel.
Overrides:
toString в классе ColorModel
Возвращает:
строку String представляющую этот DirectColorModel.

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/image/DirectColorModel.html

Spec-Zone.ru

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