Spec-Zone.ru › OpenJDK 21

Класс 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) или байт. Этот класс может использоваться только с цветовыми пространствами типа ColorSpace.TYPE_RGB. Кроме того, для каждого компонента цветового пространства, минимальное нормализованное значение компонента, полученное с помощью метода getMinValue() класса ColorSpace, должно быть 0.0, а максимальное значение, полученное с помощью метода getMaxValue(), должно быть 1.0 (эти значения min/max типичны для цветовых пространств 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
 

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

См. также:
  • 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

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

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

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

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

DirectColorModel

public DirectColorModel(int bits, int rmask, int gmask, int bmask)
Создаёт объект DirectColorModel на основе указанных масок, определяющих, какие биты в представлении пикселя содержат значения красного, зелёного и синего цветов. Так как значения пикселей не содержат информации об альфе, все пиксели обрабатываются как непрозрачные, что означает alpha = 1.0. Все биты в каждой маске должны быть смежными и помещаться в указанном числе младших значащих битов представления пикселя. Пространство цветов — по умолчанию 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 на основе указанных масок, определяющих, какие биты в представлении пикселя содержат значения красного, зелёного и синего цветов, а также альфа-компонента, если он присутствует. Если amask равно 0, значения пикселей не содержат информации об альфе, и все пиксели обрабатываются как непрозрачные (alpha = 1.0). Все биты в каждой маске должны быть смежными и помещаться в указанном числе младших значащих битов представления пикселя. Альфа-компонент, если он присутствует, не предумножен. Пространство цветов — по умолчанию 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 соответственно. Маски определяют, какие биты в представлении пикселя содержат значения красного, зелёного и синего цветов, а также альфа-компонента, если он присутствует. Если amask равно 0, значения пикселей не содержат информации об альфе, и все пиксели обрабатываются как непрозрачные (alpha = 1.0). Все биты в каждой маске должны быть смежными и помещаться в указанном числе младших значащих битов представления пикселя. Если присутствует альфа-компонент, 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()
Возвращает маску, указывающую, какие биты в представлении пикселя содержат красный компонент.
Возвращает:
маску, которая указывает, какие биты в представлении пикселя содержат красный цветовой компонент.

getGreenMask

public final int getGreenMask()
Возвращает маску, указывающую, какие биты в представлении пикселя содержат зелёный цветовой компонент.
Возвращает:
маску, которая указывает, какие биты в представлении пикселя содержат зелёный цветовой компонент.

getBlueMask

public final int getBlueMask()
Возвращает маску, указывающую, какие биты в представлении пикселя содержат синий цветовой компонент.
Возвращает:
маску, которая указывает, какие биты в представлении пикселя содержат синий цветовой компонент.

getAlphaMask

public final int getAlphaMask()
Возвращает маску, указывающую, какие биты в представлении пикселя содержат альфа-компонент.
Возвращает:
маску, которая указывает, какие биты в представлении пикселя содержат альфа-компонент.

getRed

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

getGreen

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

getBlue

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

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. Если inData недостаточно велик для хранения значения пикселя для этой ColorModel, выбрасывается исключение ArrayIndexOutOfBoundsException. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемая transferType. Если эта transferType не поддерживается этой ColorModel, выбрасывается исключение UnsupportedOperationException.
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. Если inData недостаточно велик для хранения значения пикселя для этой ColorModel, выбрасывается исключение ArrayIndexOutOfBoundsException. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемая transferType. Если эта transferType не поддерживается этой ColorModel, выбрасывается исключение UnsupportedOperationException.
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. Если inData недостаточно велик для хранения значения пикселя для этой ColorModel, выбрасывается исключение ArrayIndexOutOfBoundsException. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемая transferType. Если эта transferType не поддерживается этой ColorModel, выбрасывается исключение UnsupportedOperationException.
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. Если inData недостаточно велик для хранения значения пикселя для этой ColorModel, выбрасывается исключение ArrayIndexOutOfBoundsException. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемая transferType. Если эта transferType не поддерживается, выбрасывается исключение UnsupportedOperationException.
Overrides:
getAlpha в классе ColorModel
Parameters:
inData - указанный пиксель
Returns:
альфа-компонент указанного пикселя, масштабированный от 0 до 255.
Throws:
ClassCastException - если inData не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если inData недостаточно велик для хранения значения пикселя для данной модели цвета
UnsupportedOperationException - если эта tranferType не поддерживается данной моделью цвета

getRGB

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

getDataElements

public Object getDataElements(int rgb, Object pixel)
Возвращает массив элементов данных, представляющий пиксель в этой ColorModel, на основе целочисленного представления пикселя в стандартной модели RGB. Этот массив затем может быть передан в метод setDataElements объекта WritableRaster. Если переменная пикселя null, создаётся новый массив. Если pixel не null, это должен быть примитивный массив типа transferType; в противном случае выбрасывается исключение ClassCastException. Если pixel недостаточно велик для хранения значения пикселя для этой ColorModel, выбрасывается исключение ArrayIndexOutOfBoundsException. Возвращается массив пикселей. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемая transferType.
Overrides:
getDataElements в классе ColorModel
Parameters:
rgb - целочисленное представление пикселя в стандартной модели RGB
pixel - указанный пиксель
Returns:
массив, представляющий указанный пиксель в данной ColorModel
Throws:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для данной модели цвета
UnsupportedOperationException - если эта transferType не поддерживается данной моделью цвета
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 не null и не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset.
Overrides:
getComponents в классе ColorModel
Parameters:
pixel - заданный пиксель
components - массив для хранения цветовых и альфа-компонентов заданного пикселя
offset - смещение в массиве components для начала хранения цветовых и альфа-компонентов
Returns:
массив, содержащий цветовые и альфа-компоненты заданного пикселя, начиная с указанного смещения.

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 не null и не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.
Overrides:
getComponents в классе ColorModel
Parameters:
pixel - заданный пиксель
components - массив для хранения цветовых и альфа-компонентов заданного пикселя
offset - смещение в массиве components для начала хранения цветовых и альфа-компонентов
Returns:
массив, содержащий цветовые и альфа-компоненты заданного пикселя, начиная с указанного смещения.
Throws:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel не достаточно велик для хранения значения пикселя для этой ColorModel, или если components не null и не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset
UnsupportedOperationException - если эта transferType не поддерживается этой цветовой моделью

createCompatibleWritableRaster

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

getDataElement

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

getDataElements

public Object getDataElements(int[] components, int offset, Object obj)
Возвращает массив элементов данных, представляющий пиксель в этой ColorModel, заданный массивом ненормализованных цветовых/альфа-компонентов. Этот массив затем можно передать методу setDataElements объекта WritableRaster. Бросается ArrayIndexOutOfBoundsException, если массив components не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная со смещения. Если переменная obj пуста, создаётся новый массив. Если obj не пуста, это должен быть примитивный массив типа transferType; в противном случае бросается ClassCastException. Бросается ArrayIndexOutOfBoundsException, если obj не достаточно велик для хранения значения пикселя для этой ColorModel. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.
Overrides:
getDataElements в классе ColorModel
Parameters:
components - массив ненормализованных цветовых и альфа-компонентов
offset - индекс в components для начала извлечения цветовых и альфа-компонентов
obj - Object представляющий массив цветовых и альфа-компонентов
Returns:
Object представляющий массив цветовых и альфа-компонентов.
Throws:
ClassCastException - если obj не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если obj не достаточно велик для хранения значения пикселя для этой ColorModel или массив components не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset
UnsupportedOperationException - если эта transferType не поддерживается этой цветовой моделью
See Also:
  • 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
Parameters:
raster - данные WritableRaster
isAlphaPremultiplied - true если альфа предварительно умножена; false в противном случае
Returns:
объект ColorModel, представляющий обработанные данные.
Throws:
UnsupportedOperationException - если эта transferType не поддерживается этой цветовой моделью

isCompatibleRaster

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

toString

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

© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/image/DirectColorModel.html

Spec-Zone.ru

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