Класс 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 (эти значения min/max типичны для 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 ColorModel, задаваемый методом 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(ColorSpace space,
int bits,
int rmask,
int gmask,
int bmask,
int amask,
boolean isAlphaPremultiplied,
int transferType) Создаёт |
DirectColorModel(int bits,
int rmask,
int gmask,
int bmask) Создаёт |
DirectColorModel(int bits,
int rmask,
int gmask,
int bmask,
int amask) Создаёт |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
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, isCompatibleSampleModel Методы, унаследованные от класса java.awt.image.ColorModel
finalize, getColorSpace, getComponentSize, getComponentSize, getDataElement, getDataElements, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, hashCode, isAlphaPremultiplied Методы, унаследованные от класса java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait Конструкторы
DirectColorModel
public DirectColorModel(int bits,
int rmask,
int gmask,
int bmask) Создаёт DirectColorModel по заданным маскам, определяющим, какие биты в представлении пикселя содержат значения красного, зелёного и синего цветов. Поскольку значения пикселей не содержат альфа-информацию, все пиксели обрабатываются как непрозрачные, что означает alpha = 1.0. Все биты в каждой маске должны быть смежными и помещаться в указанном количестве младших значащих битов представления пикселя. 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 по заданным маскам, определяющим, какие биты в представлении пикселя содержат значения красного, зелёного и синего цветов, а также альфа-компонента, если он присутствует. Если amask равно 0, значения пикселей не содержат альфа-информацию, и все пиксели обрабатываются как непрозрачные, что означает alpha = 1.0. Все биты в каждой маске должны быть смежными и помещаться в указанном количестве младших значащих битов представления пикселя. Альфа, если присутствует, не предумножается. 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. Маски задают, какие биты в представлении пикселя содержат значения красного, зелёного и синего цветов, а также альфа-компонента, если он присутствует. Если 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()
Возвращает маску, указывающую, какие биты в представлении пикселя содержат красный цветовой компонент.
- Возвращает:
- маску, которая указывает, какие биты представления
intпикселя содержат красный цветовой образец.
getGreenMask
public final int getGreenMask()
Возвращает маску, указывающую, какие биты в представлении пикселя содержат зелёный цветовой компонент.
- Возвращает:
- маску, которая указывает, какие биты представления
intпикселя содержат зелёный цветовой образец.
getBlueMask
public final int getBlueMask()
Возвращает маску, указывающую, какие биты в представлении пикселя содержат синий цветовой компонент.
- Возвращает:
- маску, которая указывает, какие биты представления
intпикселя содержат синий цветовой образец.
getAlphaMask
public final int getAlphaMask()
Возвращает маску, указывающую, какие биты в представлении пикселя содержат альфа-компонент.
- Возвращает:
- маску, которая указывает, какие биты представления
intпикселя содержат альфа-образец.
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. Выбрасывается 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 равен null, выделяется новый массив. Возвращается массив components. Цветовые/альфа-компоненты хранятся в массиве components начиная с индекса offset, даже если массив выделен этим методом. Выбрасывается ArrayIndexOutOfBoundsException, если массив components не null и не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset.
- Переопределяет:
-
getComponentsв классеColorModel - Параметры:
-
pixel- указанный пиксель -
components- массив для получения цветовых и альфа-компонентов указанного пикселя -
offset- смещение в массивеcomponentsдля начала хранения цветовых и альфа-компонентов - Возвращает:
- массив, содержащий цветовые и альфа-компоненты указанного пикселя, начиная с указанного смещения.
getComponents
public final int[] getComponents(Object pixel,
int[] components,
int offset) Возвращает массив ненормализованных цветовых/альфа-компонентов, заданных пикселем в этом ColorModel. Значение пикселя задаётся массивом элементов данных типа transferType в качестве ссылки на объект. Если pixel не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если pixel недостаточно велик для хранения значения пикселя для этого ColorModel. Если массив components пуст, создаётся новый массив. Возвращается массив components. Цветовые/альфа-компоненты хранятся в массиве components, начиная со смещения offset, даже если массив был выделен этим методом. Выбрасывается ArrayIndexOutOfBoundsException, если массив components не пуст и недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная со смещения offset. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.
- Переопределяет:
-
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.
- Переопределяет:
-
createCompatibleWritableRasterв классеColorModel - Параметры:
-
w- ширина, применяемая к новомуWritableRaster -
h- высота, применяемая к новомуWritableRaster - Возвращает:
- объект
WritableRasterс заданной шириной и высотой. - Выбрасывает:
-
IllegalArgumentException- еслиwилиhменьше или равны нулю - См. также:
-
WritableRaster,SampleModel
getDataElement
public int getDataElement(int[] components,
int offset) Возвращает значение пикселя, представленное как int в этом ColorModel, заданное массивом ненормализованных цветовых/альфа-компонентов. Выбрасывается ArrayIndexOutOfBoundsException, если массив components не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная со смещения offset.
- Переопределяет:
-
getDataElementв классеColorModel - Параметры:
-
components- массив ненормализованных цветовых и альфа-компонентов -
offset- индекс вcomponentsдля начала извлечения цветовых и альфа-компонентов - Возвращает:
- значение пикселя
intв этомColorModel, соответствующее указанным компонентам. - Выбрасывает:
-
ArrayIndexOutOfBoundsException- если массивcomponentsне достаточно велик для хранения всех цветовых и альфа-компонентов, начиная со смещенияoffset
getDataElements
public Object getDataElements(int[] components,
int offset,
Object obj) Возвращает массив данных элементов представления пикселя в этом ColorModel, заданный массивом ненормализованных цветовых/альфа-компонентов. Этот массив можно передать методу setDataElements объекта WritableRaster . Выбрасывается ArrayIndexOutOfBoundsException, если массив components не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная со смещения. Если переменная obj пуста, создаётся новый массив. Если obj не пуст, он должен быть примитивным массивом типа transferType; в противном случае выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если obj не достаточно велик для хранения значения пикселя для этого ColorModel. Поскольку DirectColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.
- Переопределяет:
-
getDataElementsв классеColorModel - Параметры:
-
components- массив ненормализованных цветовых и альфа-компонентов -
offset- индекс вcomponentsдля начала извлечения цветовых и альфа-компонентов -
obj- массив, представляющий набор цветовых и альфа-компонентов - Возвращает:
- массив, представляющий набор цветовых и альфа-компонентов.
- Выбрасывает:
-
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- данные растра -
isAlphaPremultiplied-true, если альфа предварительно умножена;falseв противном случае - Возвращает:
- объект
ColorModel, представляющий согласованные данные. - Выбрасывает:
-
UnsupportedOperationException- если этотtransferTypeне поддерживается данной цветовой моделью
isCompatibleRaster
public boolean isCompatibleRaster(Raster raster)
Возвращает true, если raster совместим с этим ColorModel и false, если не совместим.
- Переопределяет:
-
isCompatibleRasterв классеColorModel - Параметры:
-
raster- объектRasterдля проверки совместимости - Возвращает:
-
trueеслиrasterсовместим с этимColorModel;falseв противном случае.
toString
public String toString()
Возвращает String, представляющий этот DirectColorModel.
- Переопределяет:
-
toStringв классеColorModel - Возвращает:
- строку, представляющую этот
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.