Класс DirectColorModel
- java.lang.Object
-
- java.awt.image.ColorModel
-
- java.awt.image.PackedColorModel
-
- java.awt.image.DirectColorModel
- Все реализуемые интерфейсы:
Transparency
public class DirectColorModel extends PackedColorModel
Класс DirectColorModel — это класс, работающий с пиксельными значениями, представляющими информацию о цвете 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
Многие методы в этом классе являются final. Это связано с тем, что базовый родной код графики делает предположения о структуре и работе этого класса, и эти предположения отражены в реализациях методов, помеченных как 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 bits,
int rmask,
int gmask,
int bmask,
int amask) | Создаёт |
DirectColorModel(ColorSpace space,
int bits,
int rmask,
int gmask,
int bmask,
int amask,
boolean isAlphaPremultiplied,
int transferType) | Создаёт |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ColorModel | coerceData(WritableRaster raster,
boolean isAlphaPremultiplied) | Принудительно подстраивает данные растра под состояние, заданное в переменной |
WritableRaster | createCompatibleWritableRaster(int w,
int h) | Создаёт |
int | getAlpha(int pixel) | Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. |
int | getAlpha(Object inData) | Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. |
int | getAlphaMask() | Возвращает маску, указывающую, какие биты в представлении пикселя |
int | getBlue(int pixel) | Возвращает синюю цветовую компоненту для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB |
int | getBlue(Object inData) | Возвращает синюю цветовую компоненту для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB |
int | getBlueMask() | Возвращает маску, указывающую, какие биты в представлении пикселя |
int[] | getComponents(int pixel,
int[] components,
int offset) | Возвращает массив ненормализованных цветовых/альфа-компонентов, заданных пикселем в данном |
int[] | getComponents(Object pixel,
int[] components,
int offset) | Возвращает массив ненормализованных цветовых/альфа-компонентов, заданных пикселем в данном |
int | getDataElement(int[] components,
int offset) | Возвращает значение пикселя, представленное как |
Object | getDataElements(int[] components,
int offset,
Object obj) | Возвращает массив элементов данных, представляющий пиксель в данном |
Object | getDataElements(int rgb,
Object pixel) | Возвращает массив элементов данных, представляющий пиксель в данном |
int | getGreen(int pixel) | Возвращает зелёную цветовую компоненту для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB |
int | getGreen(Object inData) | Возвращает зелёную цветовую компоненту для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB |
int | getGreenMask() | Возвращает маску, указывающую, какие биты в представлении пикселя |
int | getRed(int pixel) | Возвращает красную цветовую компоненту для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB |
int | getRed(Object inData) | Возвращает красную цветовую компоненту для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB |
int | getRedMask() | Возвращает маску, указывающую, какие биты в представлении пикселя |
int | getRGB(int pixel) | Возвращает цветовые/альфа-компоненты пикселя в формате стандартной цветовой модели RGB. |
int | getRGB(Object inData) | Возвращает цветовые/альфа-компоненты для указанного пикселя в формате стандартной цветовой модели RGB. |
boolean | isCompatibleRaster(Raster raster) | Возвращает |
String | toString() | Возвращает |
Методы, объявленные в классе 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.
- Переопределяет:
-
getRedв классеColorModel - Параметры:
-
inData- массив, содержащий значение пикселя - Возвращает:
- значение красного компонента указанного пикселя.
- Выбрасывает:
-
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.
- Переопределяет:
-
getGreenв классеColorModel - Параметры:
-
inData- массив, содержащий значение пикселя - Возвращает:
- значение зелёного компонента указанного пикселя.
- Выбрасывает:
-
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.
- Переопределяет:
-
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.
- 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 - 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 не пуст и недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индекса offset. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемый transferType.
- Overrides:
-
getComponentsв классеColorModel - Parameters:
-
pixel- указанный пиксель -
components- массив для получения цветовых и альфа-компонентов указанного пикселя -
offset- смещение в массивеcomponentsдля начала хранения цветовых и альфа-компонентов - Returns:
- массив, содержащий цветовые и альфа-компоненты указанного пикселя, начиная со смещения.
- Throws:
-
ClassCastException- еслиpixelне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиpixelнедостаточно велик для хранения значения пикселя для данногоColorModel, или еслиcomponentsне пуст и недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с индексаoffset -
UnsupportedOperationException- если данный цветовой режим не поддерживается данным цветовым пространством
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 имеет значение 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, 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 может быть подклассом, подклассы наследуют реализацию этого метода, и если они не переопределяют его, то они выбросят исключение, если они используют недопустимый тип передачи.
- Переопределяет:
-
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()
Возвращает строковое представление этого DirectColorModel.
- Переопределяет:
-
toStringв классеColorModel - Возвращает:
- строковое представление этого
DirectColorModel.
© 1993, 2020, 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/11/docs/api/java.desktop/java/awt/image/DirectColorModel.html