Spec-Zone.ru › OpenJDK 8

Класс ComponentColorModel

  • java.lang.Object
    • java.awt.image.ColorModel
      • java.awt.image.ComponentColorModel
Все реализованные интерфейсы:
Transparency

public class ComponentColorModel
extends ColorModel

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

Для методов, использующих примитивный массив пикселей типа transferType, длина массива совпадает с количеством цветовых и альфа-образцов. Цветовые образцы хранятся в массиве первыми, за ними, если присутствует, альфа-образец. Порядок цветовых образцов задаётся ColorSpace. Как правило, этот порядок отражает имя типа цветового пространства. Например, для TYPE_RGB, индекс 0 соответствует красному, индекс 1 — зелёному, а индекс 2 — синему.

Перевод от пиксельных образцовых значений к цветовым/альфа-компонентам для целей отображения или обработки основан на взаимно-однозначном соответствии образцов компонентам. В зависимости от типа преобразования, используемого для создания экземпляра ComponentColorModel, пиксельные образцовые значения, представленные этим экземпляром, могут быть знаковыми или беззнаковыми и могут быть целочисленного типа или float или double (см. подробности ниже). Перевод от образцовых значений к нормализованным цветовым/альфа-компонентам должен следовать определённым правилам. Для float и double образцов перевод является тождественным, т.е. нормализованные значения компонентов равны соответствующим образцовым значениям. Для целочисленных образцов перевод должен быть лишь простым масштабированием и смещением, где константы масштабирования и смещения могут быть разными для каждого компонента. Результатом применения констант масштабирования и смещения является набор значений цветовых/альфа-компонентов, которые гарантированно находятся в определённом диапазоне. Как правило, диапазон для цветового компонента будет диапазоном, определённым методами getMinValue и getMaxValue класса ColorSpace. Диапазон для альфа-компонента должен быть от 0,0 до 1,0.

Экземпляры ComponentColorModel созданные с типами преобразования DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, и DataBuffer.TYPE_INT имеют пиксельные образцовые значения, которые рассматриваются как беззнаковые целые значения. Количество битов в цветовом или альфа-образце пиксельного значения может не совпадать с количеством битов для соответствующего цветового или альфа-образца, переданного конструктору ComponentColorModel(ColorSpace, int[], boolean, boolean, int, int). В этом случае, этот класс предполагает, что n младших битов образцового значения содержат значение компонента, где n — количество значимых битов для компонента, переданного в конструктор. Он также предполагает, что любые старшие биты в образцовом значении равны нулю. Таким образом, образцовые значения варьируются от 0 до 2n - 1. Этот класс сопоставляет эти образцовые значения с нормализованными значениями цветовых компонентов таким образом, что 0 отображается на значение, полученное из метода ColorSpace's getMinValue для каждого компонента, а 2n - 1 отображается на значение, полученное из getMaxValue. Для создания ComponentColorModel с другим отображением цветовых образцов требуется наследование от этого класса и переопределение метода getNormalizedComponents(Object, float[], int). Отображение для альфа-образца всегда отображает 0 в 0,0 и 2n - 1 в 1,0.

Для экземпляров с беззнаковыми образцовыми значениями, представление ненормализованного цвета/альфа-компонента поддерживается только при выполнении двух условий. Во-первых, образцовое значение 0 должно отображаться на нормализованное значение компонента 0,0, а образцовое значение 2n - 1 на 1,0. Во-вторых, диапазон min/max всех цветовых компонентов ColorSpace должен составлять от 0,0 до 1,0. В этом случае представление компонента — n младших значащих битов соответствующего образца. Таким образом, каждый компонент — беззнаковое целое число от 0 до 2n - 1, где n — количество значимых битов для конкретного компонента. Если эти условия не выполнены, любой метод, принимающий аргумент ненормализованного компонента, бросит IllegalArgumentException.

Экземпляры ComponentColorModel созданные с типами преобразования DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, и DataBuffer.TYPE_DOUBLE имеют пиксельные образцовые значения, которые рассматриваются как знакомые short, float или double значения. Такие экземпляры не поддерживают представление ненормализованного цвета/альфа-компонента, поэтому любые методы, принимающие такое представление в качестве аргумента, бросят IllegalArgumentException при вызове на одном из этих экземпляров. Нормализованные значения компонентов экземпляров этого класса имеют диапазон, зависящий от типа преобразования следующим образом: для float образцов — весь диапазон типа float; для double образцов — весь диапазон типа float (полученный путём приведения double к float); для short образцов — примерно от -maxVal до +maxVal, где maxVal — максимальное значение на компонент для ColorSpace (-32767 соответствует -maxVal, 0 — 0,0, а 32767 — +maxVal). Подкласс может переопределить масштабирование для значений short образцов на нормализованные значения компонентов, переопределив метод getNormalizedComponents(Object, float[], int). Для float и double образцов нормализованные значения компонентов предполагаются равными соответствующим образцовым значениям, и подклассы не должны пытаться добавить какое-либо нетождественное масштабирование для этих типов преобразований.

Экземпляры ComponentColorModel созданные с типами преобразования DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, и DataBuffer.TYPE_DOUBLE используют все биты всех образцовых значений. Таким образом, все цветовые/альфа-компоненты имеют 16 битов при использовании DataBuffer.TYPE_SHORT, 32 бита при использовании DataBuffer.TYPE_FLOAT, и 64 бита при использовании DataBuffer.TYPE_DOUBLE. Когда используется форма конструктора ComponentColorModel(ColorSpace, int[], boolean, boolean, int, int) с одним из этих типов преобразования, аргумент массива бит игнорируется.

Возможны значения цветовых/альфа-образцов, которые нельзя разумно интерпретировать как значения компонентов для рендеринга. Это может произойти при наследовании от ComponentColorModel для переопределения сопоставления беззнаковых образцовых значений с нормализованными значениями цветовых компонентов или при использовании знаковых образцовых значений вне определённого диапазона. (Например, указание альфа-компонента как знакового short значения вне диапазона от 0 до 32767, нормализованного диапазона от 0,0 до 1,0, может привести к непредсказуемым результатам.) Приложения должны должным образом масштабировать пиксельные данные перед рендерингом таким образом, чтобы цветовые компоненты попадали в нормализованный диапазон ColorSpace (полученный с помощью методов getMinValue и getMaxValue класса ColorSpace) и альфа-компонент был между 0,0 и 1,0. Если значения цветовых или альфа-компонентов выходят за эти пределы, результаты рендеринга неопределённы.

Методы, использующие единственное целочисленное пиксельное представление, выбрасывают IllegalArgumentException, за исключением случаев, когда количество компонентов для ComponentColorModel равно одному и значение компонента является беззнаковым — другими словами, один цветовой компонент, использующий тип преобразования DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, или DataBuffer.TYPE_INT и без альфа-компонента.

ComponentColorModel может быть использован совместно с ComponentSampleModel, BandedSampleModel, или PixelInterleavedSampleModel для построения BufferedImage.

См. также:
ColorModel, ColorSpace, ComponentSampleModel, BandedSampleModel, PixelInterleavedSampleModel, BufferedImage

Поля

Поля унаследованные от класса java.awt.image.ColorModel

pixel_bits, transferType

Поля унаследованные от интерфейса java.awt.Transparency

BITMASK, OPAQUE, TRANSLUCENT

Конструкторы

Конструктор и описание
ComponentColorModel(ColorSpace colorSpace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)

Создаёт ComponentColorModel из указанных параметров.

ComponentColorModel(ColorSpace colorSpace, int[] bits, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)

Создаёт ComponentColorModel из указанных параметров.

Методы

Модификатор и тип Метод и описание
ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)

Принудительно согласует данные растрового изображения с состоянием, заданным в переменной isAlphaPremultiplied, предполагая, что данные в настоящее время корректно описываются этой ColorModel.

SampleModel createCompatibleSampleModel(int w, int h)

Создаёт SampleModel с указанной шириной и высотой, имеющим схему данных, совместимую с этой ColorModel.

WritableRaster createCompatibleWritableRaster(int w, int h)

Создаёт WritableRaster с заданной шириной и высотой, имеющим схему данных (SampleModel) совместимую с этой ColorModel.

boolean equals(Object obj)

Сравнивает эту модель цвета с другой на равенство.

int getAlpha(int pixel)

Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255.

int getAlpha(Object inData)

Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255.

WritableRaster getAlphaRaster(WritableRaster raster)

Возвращает Raster, представляющую альфа-канал изображения, извлечённого из входного Raster.

int getBlue(int pixel)

Возвращает синюю компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB, sRGB.

int getBlue(Object inData)

Возвращает синюю компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB ColorSpace, sRGB.

int[] getComponents(int pixel, int[] components, int offset)

Возвращает массив ненормализованных цветовых/альфа-компонентов для пикселя в этой ColorModel.

int[] getComponents(Object pixel, int[] components, int offset)

Возвращает массив ненормализованных цветовых/альфа-компонентов для пикселя в этой ColorModel.

int getDataElement(float[] normComponents, int normOffset)

Возвращает значение пикселя, представленное как int в этой ColorModel, для заданного массива нормализованных цветовых/альфа-компонентов.

int getDataElement(int[] components, int offset)

Возвращает значение пикселя, представленное как целое число в этой ColorModel, для заданного массива ненормализованных цветовых/альфа-компонентов.

Object getDataElements(float[] normComponents, int normOffset, Object obj)

Возвращает массив данных, представляющий пиксель в этой ColorModel, для заданного массива нормализованных цветовых/альфа-компонентов.

Object getDataElements(int[] components, int offset, Object obj)

Возвращает массив данных, представляющий пиксель в этой ColorModel, для заданного массива ненормализованных цветовых/альфа-компонентов.

Object getDataElements(int rgb, Object pixel)

Возвращает массив данных, представляющий пиксель в этой ColorModel, для заданного целочисленного представления пикселя в стандартной цветовой модели RGB.

int getGreen(int pixel)

Возвращает зелёную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB, sRGB.

int getGreen(Object inData)

Возвращает зелёную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB ColorSpace, sRGB.

float[] getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)

Возвращает массив всех цветовых/альфа-компонентов в нормализованной форме, задавая массив ненормализованных компонентов.

float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)

Возвращает массив всех цветовых/альфа-компонентов в нормализованной форме, задавая пиксель в этой ColorModel.

int getRed(int pixel)

Возвращает красную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB, sRGB.

int getRed(Object inData)

Возвращает красную компоненту цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB, sRGB.

int getRGB(int pixel)

Возвращает цветовые/альфа-компоненты пикселя в формате стандартной цветовой модели RGB.

int getRGB(Object inData)

Возвращает цветовые/альфа-компоненты для указанного пикселя в формате стандартной цветовой модели RGB.

int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)

Возвращает массив всех цветовых/альфа-компонентов в ненормализованной форме, задавая массив нормализованных компонентов.

boolean isCompatibleRaster(Raster raster)

Возвращает true, если raster совместим с этой ColorModel; false, если нет.

boolean isCompatibleSampleModel(SampleModel sm)

Проверяет, совместима ли указанная SampleModel с этой ColorModel.

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

finalize, getColorSpace, getComponentSize, getComponentSize, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, hasAlpha, hashCode, isAlphaPremultiplied, toString

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

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

Конструкторы

ComponentColorModel

public ComponentColorModel(ColorSpace colorSpace,
                           int[] bits,
                           boolean hasAlpha,
                           boolean isAlphaPremultiplied,
                           int transparency,
                           int transferType)

Создаёт ComponentColorModel по заданным параметрам. Цветные компоненты будут в указанном ColorSpace. Поддерживаемые типы передачи — DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, и DataBuffer.TYPE_DOUBLE. Если не null, массив bits задаёт количество значащих битов на компонент цвета и альфа-компонент, и его длина должна быть не меньше количества компонентов в ColorSpace, если нет альфа-информации в значениях пикселей, или на единицу больше этого числа, если альфа-информация присутствует. Когда transferType равен DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, или DataBuffer.TYPE_DOUBLE, аргумент массива bits игнорируется. hasAlpha указывает, присутствует ли альфа-информация. Если hasAlpha истинно, то булево значение isAlphaPremultiplied определяет, как интерпретировать цветные и альфа-образцы в значениях пикселей. Если булево значение истинно, образцы цвета предполагаются умноженными на образец альфа-канала. transparency задаёт, какие значения альфа-канала могут быть представлены этой цветовой моделью. Допустимые значения transparency — OPAQUE, BITMASK или TRANSLUCENT. transferType — тип примитивного массива, используемого для представления значений пикселей.

Parameters:
colorSpace - ColorSpace связанный с данной цветовой моделью.
bits - Количество значащих битов на компонент. Может быть null, в этом случае все биты всех образцов компонентов будут значащими. Игнорируется, если transferType равен одному из DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, или DataBuffer.TYPE_DOUBLE, в этом случае все биты всех образцов компонентов будут значащими.
hasAlpha - Если истинно, эта цветовая модель поддерживает альфа-канал.
isAlphaPremultiplied - Если истинно, альфа-канал предопределён.
transparency - Задаёт, какие значения альфа-канала могут быть представлены этой цветовой моделью.
transferType - Тип примитивного массива, используемого для представления значений пикселей.
Throws:
IllegalArgumentException - Если аргумент массива bits не null, его длина меньше числа цветовых и альфа-компонентов, и transferType равен одному из DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, или DataBuffer.TYPE_INT.
IllegalArgumentException - Если transferType не равен одному из DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, или DataBuffer.TYPE_DOUBLE.
See Also:
ColorSpace, Transparency

ComponentColorModel

public ComponentColorModel(ColorSpace colorSpace,
                           boolean hasAlpha,
                           boolean isAlphaPremultiplied,
                           int transparency,
                           int transferType)

Создаёт ComponentColorModel по заданным параметрам. Цветные компоненты будут в указанном ColorSpace. Поддерживаемые типы передачи — DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, и DataBuffer.TYPE_DOUBLE. Количество значащих битов на компонент цвета и альфа-компонент будет 8, 16, 32, 16, 32 или 64 соответственно. Количество цветовых компонентов будет равно количеству компонентов в ColorSpace. Будет альфа-компонент, если hasAlpha равно true. Если hasAlpha истинно, то булево значение isAlphaPremultiplied определяет, как интерпретировать цветные и альфа-образцы в значениях пикселей. Если булево значение истинно, образцы цвета предполагаются умноженными на образец альфа-канала. transparency задаёт, какие значения альфа-канала могут быть представлены этой цветовой моделью. Допустимые значения transparency — OPAQUE, BITMASK или TRANSLUCENT. transferType — тип примитивного массива, используемого для представления значений пикселей.

Parameters:
colorSpace - ColorSpace связанный с данной цветовой моделью.
hasAlpha - Если истинно, эта цветовая модель поддерживает альфа-канал.
isAlphaPremultiplied - Если истинно, альфа-канал предопределён.
transparency - Задаёт, какие значения альфа-канала могут быть представлены этой цветовой моделью.
transferType - Тип примитивного массива, используемого для представления значений пикселей.
Throws:
IllegalArgumentException - Если transferType не равен одному из DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, или DataBuffer.TYPE_DOUBLE.
Since:
1.4
See Also:
ColorSpace, Transparency

Методы

getRed

public int getRed(int pixel)

Возвращает красный компонент цвета для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся как целое число. Возвращаемое значение будет без предварительного умножения. Если альфа-канал предопределён, этот метод делит его перед возвращением значения (если значение альфа-канала равно 0, значение красного цвета будет 0).

Specified by:
getRed в классе ColorModel
Parameters:
pixel - Пиксель, из которого нужно получить красный компонент цвета.
Returns:
Красный компонент цвета для указанного пикселя, как целое число.
Throws:
IllegalArgumentException - Если в этой ColorModel больше одного компонента.
IllegalArgumentException - Если значение компонента для этой ColorModel со знаком

getGreen

public int getGreen(int pixel)

Возвращает зелёный компонент цвета для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся как целое число. Возвращаемое значение будет без предварительного умножения. Если альфа-канал предопределён, этот метод делит его перед возвращением значения (если значение альфа-канала равно 0, значение зелёного цвета будет 0).

Specified by:
getGreen в классе ColorModel
Parameters:
pixel - Пиксель, из которого нужно получить зелёный компонент цвета.
Returns:
Зелёный компонент цвета для указанного пикселя, как целое число.
Throws:
IllegalArgumentException - Если в этой ColorModel больше одного компонента.
IllegalArgumentException - Если значение компонента для этой ColorModel со знаком

getBlue

public int getBlue(int pixel)

Возвращает синий компонент цвета для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся как целое число. Возвращаемое значение будет без предварительного умножения. Если альфа-канал предопределён, этот метод делит его перед возвращением значения (если значение альфа-канала равно 0, значение синего цвета будет 0).

Specified by:
getBlue в классе ColorModel
Parameters:
pixel - Пиксель, из которого нужно получить синий компонент цвета.
Returns:
Синий компонент цвета для указанного пикселя, как целое число.
Throws:
IllegalArgumentException - Если в этой ColorModel больше одного компонента.
IllegalArgumentException - Если значение компонента для этой ColorModel со знаком

getAlpha

public int getAlpha(int pixel)

Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. Значение пикселя задаётся как целое число.

Specified by:
getAlpha в классе ColorModel
Parameters:
pixel - Пиксель, из которого нужно получить альфа-компонент.
Returns:
Альфа-компонент для указанного пикселя, как целое число.
Throws:
IllegalArgumentException - Если в этой ColorModel больше одного компонента.
IllegalArgumentException - Если значение компонента для этой ColorModel со знаком

getRGB

public int getRGB(int pixel)

Возвращает компоненты цвета/альфа-канала пикселя в формате стандартной цветовой модели RGB. Если необходимо, выполняется преобразование цвета. Возвращаемое значение будет в формате без предварительного умножения. Если альфа-канал предопределён, этот метод делит его из цветовых компонентов (если значение альфа-канала равно 0, значения цветов будут 0).

Overrides:
getRGB в классе ColorModel
Parameters:
pixel - Пиксель, из которого нужно получить компоненты цвета/альфа-канала.
Returns:
Компоненты цвета/альфа-канала для указанного пикселя, как целое число.
Throws:
IllegalArgumentException - Если в этой ColorModel больше одного компонента.
IllegalArgumentException - Если значение компонента для этой ColorModel со знаком
See Also:
ColorModel.getRGBdefault()

getRed

public int getRed(Object inData)

Возвращает красный компонент цвета для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. Если необходимо, выполняется преобразование цвета. Значение pixel задаётся массивом элементов данных типа transferType в виде ссылки на объект. Возвращаемое значение будет без предварительного умножения. Если альфа-канал предопределён, этот метод делит его перед возвращением значения (если значение альфа-канала равно 0, значение красного цвета будет 0). Так как ComponentColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если они используют недопустимый transferType.

Overrides:
getRed в классе ColorModel
Parameters:
inData - Пиксель, из которого необходимо получить красный цветовой компонент, заданный массивом данных типа transferType.
Returns:
Красная цветовая компонента указанного пикселя, как целое число.
Throws:
ClassCastException - Если inData не является примитивным массивом типа transferType.
ArrayIndexOutOfBoundsException - если inData недостаточно велик, чтобы вместить значение пикселя для этого ColorModel.
UnsupportedOperationException - Если тип преобразования этого ComponentColorModel не является одним из поддерживаемых типов преобразования: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, или DataBuffer.TYPE_DOUBLE.

getGreen

public int getGreen(Object inData)

Возвращает зелёную составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB ColorSpace, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Возвращаемое значение — не умноженное на альфа-канал. Если альфа-канал умножен, этот метод делит значение на альфа-канал перед возвращением (если значение альфа равно 0, значение зелёного будет 0). Так как ComponentColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.

Overrides:
getGreen в классе ColorModel
Parameters:
inData - Пиксель, из которого необходимо получить зелёную составляющую цвета, заданный массивом данных типа transferType.
Returns:
Зелёная цветовая компонента указанного пикселя, как целое число.
Throws:
ClassCastException - Если inData не является примитивным массивом типа transferType.
ArrayIndexOutOfBoundsException - если inData недостаточно велик, чтобы вместить значение пикселя для этого ColorModel.
UnsupportedOperationException - Если тип преобразования этого ComponentColorModel не является одним из поддерживаемых типов преобразования: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, или DataBuffer.TYPE_DOUBLE.

getBlue

public int getBlue(Object inData)

Возвращает синюю составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартной цветовой модели RGB ColorSpace, sRGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Возвращаемое значение — не умноженное на альфа-канал. Если альфа-канал умножен, этот метод делит значение на альфа-канал перед возвращением (если значение альфа равно 0, значение синего будет 0). Так как ComponentColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.

Overrides:
getBlue в классе ColorModel
Parameters:
inData - Пиксель, из которого необходимо получить синюю составляющую цвета, заданный массивом данных типа transferType.
Returns:
Синяя цветовая компонента указанного пикселя, как целое число.
Throws:
ClassCastException - Если inData не является примитивным массивом типа transferType.
ArrayIndexOutOfBoundsException - если inData недостаточно велик, чтобы вместить значение пикселя для этого ColorModel.
UnsupportedOperationException - Если тип преобразования этого ComponentColorModel не является одним из поддерживаемых типов преобразования: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, или DataBuffer.TYPE_DOUBLE.

getAlpha

public int getAlpha(Object inData)

Возвращает альфа-компоненту цвета для указанного пикселя, масштабированную от 0 до 255. Значение пикселя задаётся массивом элементов данных типа transferType в виде ссылки на объект. Так как ComponentColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.

Overrides:
getAlpha в классе ColorModel
Parameters:
inData - Пиксель, из которого необходимо получить альфа-компоненту, заданный массивом данных типа transferType.
Returns:
Альфа-компонента указанного пикселя, как целое число.
Throws:
ClassCastException - Если inData не является примитивным массивом типа transferType.
ArrayIndexOutOfBoundsException - если inData недостаточно велик, чтобы вместить значение пикселя для этого ColorModel.
UnsupportedOperationException - Если тип преобразования этого ComponentColorModel не является одним из поддерживаемых типов преобразования: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, или DataBuffer.TYPE_DOUBLE.

getRGB

public int getRGB(Object inData)

Возвращает цветовые и альфа-компоненты для указанного пикселя в формате стандартной цветовой модели RGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся массивом элементов данных типа transferType в виде ссылки на объект. Возвращаемое значение имеет формат без предварительного умножения на альфа-канал. Если альфа-канал умножен, этот метод делит цветовые компоненты на альфа-канал (если значение альфа равно 0, цветовые значения будут 0). Так как ComponentColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.

Overrides:
getRGB в классе ColorModel
Parameters:
inData - Пиксель, из которого необходимо получить цветовые/альфа-компоненты, заданный массивом данных типа transferType.
Returns:
Цветовые/альфа-компоненты указанного пикселя, как целое число.
Throws:
ClassCastException - Если inData не является примитивным массивом типа transferType.
ArrayIndexOutOfBoundsException - если inData недостаточно велик, чтобы вместить значение пикселя для этого ColorModel.
UnsupportedOperationException - Если тип преобразования этого ComponentColorModel не является одним из поддерживаемых типов преобразования: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, или DataBuffer.TYPE_DOUBLE.
See Also:
ColorModel.getRGBdefault()

getDataElements

public Object getDataElements(int rgb,
                              Object pixel)

Возвращает массив элементов данных, представляющих пиксель в этом ColorModel, заданный целочисленным значением пикселя в стандартной цветовой модели RGB. Этот массив можно передать методу setDataElements объекта WritableRaster. Если параметр pixel равен null, создаётся новый массив. Так как ComponentColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используется неподдерживаемый transferType.

Overrides:
getDataElements в классе ColorModel
Parameters:
rgb - Целочисленное представление пикселя в цветовой модели RGB
pixel - Указанный пиксель
Returns:
Массив элементов данных, представляющий пиксель в этом ColorModel.
Throws:
ClassCastException - Если pixel не равен null и не является примитивным массивом типа transferType.
ArrayIndexOutOfBoundsException - Если pixel недостаточно велик, чтобы вместить значение пикселя для этого ColorModel.
UnsupportedOperationException - Если тип преобразования этого ComponentColorModel не является одним из поддерживаемых типов преобразования: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, или DataBuffer.TYPE_DOUBLE.
See Also:
WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

getComponents

public int[] getComponents(int pixel,
                           int[] components,
                           int offset)

Возвращает массив ненормализованных цветовых/альфа-компонентов для заданного пикселя в этом ColorModel. Если значение компоненты для этого ColorModel не может быть удобно представлено в ненормализованной форме, выбрасывается исключение IllegalArgumentException. Цветовые/альфа-компоненты хранятся в массиве components начиная с позиции offset, (даже если массив выделяется этим методом).

Overrides:
getComponents в классе ColorModel
Parameters:
pixel - Значение пикселя, заданное как целое число.
components - Массив целых чисел, в который следует поместить ненормализованные цветовые/альфа-компоненты. Если массив components равен null, выделяется новый массив.
offset - Смещение в массиве components.
Returns:
Массив компонентов.
Throws:
IllegalArgumentException - Если в этом ColorModel более одной компоненты.
IllegalArgumentException - Если этот ColorModel не поддерживает ненормализованную форму.
ArrayIndexOutOfBoundsException - Если массив components не равен null и недостаточно велик для хранения всех цветовых и альфа-компонентов (начиная с смещения).

getComponents

public int[] getComponents(Object pixel,
                           int[] components,
                           int offset)

Возвращает массив ненормализованных цветовых/альфа-компонентов, заданных пикселем в этой ColorModel. Значение пикселя задается массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Бросается исключение IllegalArgumentException, если значения компонентов цвета для этой ColorModel не могут быть удобно представлены в ненормализованной форме. Цветовые/альфа-компоненты хранятся в массиве components, начиная с индекса offset (даже если массив выделяется этим методом). Поскольку ComponentColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то этот метод может выбросить исключение, если они используют неподдерживаемую transferType.

Overrides:
getComponents в классе ColorModel
Параметры:
pixel - Значение пикселя, заданное массивом элементов данных типа transferType.
components - Массив целых чисел, в который нужно сохранить ненормализованные цветовые/альфа-компоненты. Если массив components равен null, новый массив выделяется.
offset - Смещение в массиве components.
Возвращает:
Массив components.
Исключения:
IllegalArgumentException - Если эта ComponentColorModel не поддерживает ненормализованную форму
UnsupportedOperationException - в некоторых случаях, если тип передачи этой ComponentColorModel не является одним из следующих типов передачи: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, или DataBuffer.TYPE_INT.
ClassCastException - Если pixel не является примитивным массивом типа transferType.
IllegalArgumentException - Если массив components не равен null и не достаточно велик для хранения всех цветовых и альфа-компонентов (начиная со смещения), или если pixel не достаточно велик для хранения значения пикселя для этого ColorModel.

getUnnormalizedComponents

public int[] getUnnormalizedComponents(float[] normComponents,
                                       int normOffset,
                                       int[] components,
                                       int offset)

Возвращает массив всех цветовых/альфа-компонентов в ненормализованной форме, заданных массивом нормализованных компонент. Ненормализованные компоненты — это целые беззнаковые значения от 0 до 2n - 1, где n — количество битов для конкретного компонента. Нормализованные компоненты — это значения с плавающей точкой от минимального до максимального значения, заданного объектом ColorSpace для этого ColorModel. Будет выброшено исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме. Если массив components равен null, будет выделен новый массив. Будет возвращен массив components . Цветовые/альфа-компоненты хранятся в массиве components , начиная с индекса offset (даже если массив выделяется этим методом). Бросается исключение ArrayIndexOutOfBoundsException, если массив components не null и не достаточно велик для хранения всех цветовых и альфа-компонентов (начиная с offset). Бросается исключение IllegalArgumentException, если массив normComponents не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с normOffset.

Overrides:
getUnnormalizedComponents в классе ColorModel
Параметры:
normComponents - массив, содержащий нормализованные компоненты
normOffset - смещение в массиве normComponents , с которого начинать извлечение нормализованных компонентов
components - массив, получающий компоненты из normComponents
offset - индекс в components , с которого начинать сохранение нормализованных компонентов из normComponents
Возвращает:
массив, содержащий ненормализованные цветовые и альфа-компоненты.
Исключения:
IllegalArgumentException - Если эта ComponentColorModel не поддерживает ненормализованную форму
IllegalArgumentException - если длина normComponents минус normOffset меньше numComponents

getNormalizedComponents

public float[] getNormalizedComponents(int[] components,
                                       int offset,
                                       float[] normComponents,
                                       int normOffset)

Возвращает массив всех цветовых/альфа-компонентов в нормализованной форме, заданных массивом ненормализованных компонент. Ненормализованные компоненты — это целые беззнаковые значения от 0 до 2n - 1, где n — количество битов для конкретного компонента. Нормализованные компоненты — это значения с плавающей точкой от минимального до максимального значения, заданного объектом ColorSpace для этого ColorModel. Будет выброшено исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме. Если массив normComponents равен null, будет выделен новый массив. Будет возвращен массив normComponents . Цветовые/альфа-компоненты хранятся в массиве normComponents , начиная с индекса normOffset (даже если массив выделяется этим методом). Бросается исключение ArrayIndexOutOfBoundsException, если массив normComponents не null и не достаточно велик для хранения всех цветовых и альфа-компонентов (начиная с normOffset). Бросается исключение IllegalArgumentException, если массив components не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset.

Overrides:
getNormalizedComponents в классе ColorModel
Параметры:
components - массив, содержащий ненормализованные компоненты
offset - смещение в массиве components , с которого начинать извлечение ненормализованных компонентов
normComponents - массив, получающий нормализованные компоненты
normOffset - индекс в normComponents , с которого начинать сохранение нормализованных компонентов
Возвращает:
массив, содержащий нормализованные цветовые и альфа-компоненты.
Исключения:
IllegalArgumentException - Если эта ComponentColorModel не поддерживает ненормализованную форму

getDataElement

public int getDataElement(int[] components,
                          int offset)

Возвращает значение пикселя, представленное как целое число в этой ColorModel, заданное массивом ненормализованных цветовых/альфа-компонентов.

Overrides:
getDataElement в классе ColorModel
Параметры:
components - Массив ненормализованных цветовых/альфа-компонентов.
offset - Смещение в массиве components.
Возвращает:
Значение пикселя, представленное как целое число.
Исключения:
IllegalArgumentException - Если в этой ColorModel более одного компонента.
IllegalArgumentException - Если эта ComponentColorModel не поддерживает ненормализованную форму

getDataElements

public Object getDataElements(int[] components,
                              int offset,
                              Object obj)

Возвращает массив элементов данных, представляющий пиксель в этой ColorModel, заданный массивом ненормализованных цветовых/альфа-компонентов. Этот массив затем можно передать в метод setDataElements объекта WritableRaster.

Overrides:
getDataElements в классе ColorModel
Параметры:
components - Массив ненормализованных цветовых/альфа-компонентов.
offset - Целое смещение в массиве components.
obj - Объект, в который нужно сохранить массив элементов данных, представляющий пиксель. Если переменная obj равна null, выделяется новый массив. Если obj не равен null, он должен быть примитивным массивом типа transferType. Бросается исключение ArrayIndexOutOfBoundsException, если obj не достаточно велик для хранения значения пикселя для этого ColorModel. Поскольку ComponentColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то они выдают исключение, если используют неподдерживаемую transferType.
Возвращает:
Массив элементов данных, представляющий пиксель в этой ColorModel.
Исключения:
IllegalArgumentException - Если массив компонентов не достаточно велик для хранения всех цветовых и альфа-компонентов (начиная со смещения).
ClassCastException - Если obj не равен null и не является примитивным массивом типа transferType.
ArrayIndexOutOfBoundsException - Если obj не достаточно велик для хранения значения пикселя для этого ColorModel.
IllegalArgumentException - Если эта ComponentColorModel не поддерживает ненормализованную форму
UnsupportedOperationException - Если тип передачи этой ComponentColorModel не является одним из следующих типов передачи: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, или DataBuffer.TYPE_INT.
См. также:
WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

getDataElement

public int getDataElement(float[] normComponents,
                          int normOffset)

Возвращает значение пикселя, представленное как int в этой ColorModel, заданное массивом нормализованных цветовых/альфа-компонентов. Этот метод выбросит исключение IllegalArgumentException, если значения пикселей для этой ColorModel не могут быть удобно представлены как единственное int. Бросается исключение ArrayIndexOutOfBoundsException, если массив normComponents не достаточно велик для хранения всех цветовых и альфа-компонентов (начиная с normOffset).

Overrides:
getDataElement в классе ColorModel
Параметры:
normComponents - массив нормализованных цветовых и альфа-компонентов
normOffset - индекс в normComponents , с которого начинать извлечение цветовых и альфа-компонентов
Возвращает:
значение пикселя int в этой ColorModel , соответствующее указанным компонентам.
Исключения:
IllegalArgumentException - если значения пикселей для этой ColorModel не могут быть удобно представлены как единственное int
ArrayIndexOutOfBoundsException - если массив normComponents не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с normOffset
Since:
1.4

getDataElements

public Object getDataElements(float[] normComponents,
                              int normOffset,
                              Object obj)

Возвращает массив элементов данных, представляющий пиксель в этом ColorModel, на основе массива нормализованных компонентов цвета/альфа-канала. Этот массив можно затем передать методу setDataElements объекта WritableRaster. Будет брошено исключение ArrayIndexOutOfBoundsException, если массив normComponents недостаточно велик для хранения всех компонентов цвета и альфа-канала (начиная с normOffset). Если переменная obj равна null, будет выделен новый массив. Если obj не равен null, он должен быть примитивным массивом типа transferType; в противном случае будет брошено исключение ClassCastException. Будет брошено исключение ArrayIndexOutOfBoundsException, если obj недостаточно велик для хранения значения пикселя для этого ColorModel.

Переопределяет:
getDataElements в классе ColorModel
Параметры:
normComponents - массив нормализованных компонентов цвета и альфа-канала
normOffset - индекс в normComponents для начала извлечения компонентов цвета и альфа-канала
obj - примитивный массив данных для хранения возвращаемого пикселя
Возвращает:
примитивный массив данных, представляющий пиксель
Исключения:
ClassCastException - если obj не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если obj недостаточно велик для хранения значения пикселя для этого ColorModel или массив normComponents недостаточно велик для хранения всех компонентов цвета и альфа-канала, начиная с normOffset
С:
1.4
См. также:
WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

getNormalizedComponents

public float[] getNormalizedComponents(Object pixel,
                                       float[] normComponents,
                                       int normOffset)

Возвращает массив всех компонентов цвета/альфа-канала в нормализованной форме, заданного пикселя в этом ColorModel. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Если пиксель не является примитивным массивом типа transferType, будет брошено исключение ClassCastException. Будет брошено исключение ArrayIndexOutOfBoundsException, если pixel недостаточно велик для хранения значения пикселя для этого ColorModel. Нормализованные компоненты — значения типа float, находящиеся между минимальным и максимальным значениями для каждого компонента, указанными объектом ColorSpace для этого ColorModel объекта. Если массив normComponents пустой, будет выделен новый массив. Массив normComponents будет возвращён. Компоненты цвета/альфа-канала хранятся в массиве normComponents начиная с normOffset (даже если массив выделяется этим методом). Будет брошено исключение ArrayIndexOutOfBoundsException, если массив normComponents не пустой и недостаточно велик для хранения всех компонентов цвета и альфа-канала (начиная с normOffset).

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

Переопределяет:
getNormalizedComponents в классе ColorModel
Параметры:
pixel - заданный пиксель
normComponents - массив для приёма нормализованных компонентов
normOffset - смещение в массиве normComponents для начала хранения нормализованных компонентов
Возвращает:
массив, содержащий нормализованные компоненты цвета и альфа-канала.
Исключения:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если normComponents недостаточно велик для хранения всех компонентов цвета и альфа-канала, начиная с normOffset
ArrayIndexOutOfBoundsException - если pixel недостаточно велик для хранения значения пикселя для этого ColorModel.
С:
1.4

coerceData

public ColorModel coerceData(WritableRaster raster,
                             boolean isAlphaPremultiplied)

Принудительно соответствует данным растра состоянию, указанному в переменной isAlphaPremultiplied, предполагая, что данные в настоящее время правильно описаны этим ColorModel. Может умножать или делить данные цветового растра на альфа-канал или ничего не делать, если данные находятся в правильном состоянии. Если данные необходимо привести к соответствию, этот метод также возвращает экземпляр этого ColorModel с соответствующим флагом isAlphaPremultiplied. Поскольку ColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они не переопределяют его, они выбрасывают исключение, если используют недопустимый transferType.

Переопределяет:
coerceData в классе ColorModel
Параметры:
raster - данные WritableRaster растра
isAlphaPremultiplied - true если альфа-канал умножен; false в противном случае
Возвращает:
объект ColorModel, представляющий приведённые к соответствию данные.
Исключения:
NullPointerException - если raster равно null и требуется приведение данных к соответствию.
UnsupportedOperationException - если тип передачи этого ComponentColorModel не является одним из поддерживаемых типов передачи: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, или DataBuffer.TYPE_DOUBLE.

isCompatibleRaster

public boolean isCompatibleRaster(Raster raster)

Возвращает true, если raster совместим с этим ColorModel; false, если нет.

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

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster(int w,
                                                     int h)

Создаёт WritableRaster с указанной шириной и высотой, имеющий структуру данных (SampleModel) совместимую с этим ColorModel.

Переопределяет:
createCompatibleWritableRaster в классе ColorModel
Параметры:
w - Ширина создаваемого WritableRaster.
h - Высота создаваемого WritableRaster.
Возвращает:
WritableRaster совместимый с этим ColorModel.
См. также:
WritableRaster, SampleModel

createCompatibleSampleModel

public SampleModel createCompatibleSampleModel(int w,
                                               int h)

Создаёт SampleModel с указанной шириной и высотой, имеющий структуру данных, совместимую с этим ColorModel.

Переопределяет:
createCompatibleSampleModel в классе ColorModel
Параметры:
w - Ширина создаваемого SampleModel.
h - Высота создаваемого SampleModel.
Возвращает:
SampleModel совместимый с этим ColorModel.
См. также:
SampleModel

isCompatibleSampleModel

public boolean isCompatibleSampleModel(SampleModel sm)

Проверяет, совместим ли указанный SampleModel с этим ColorModel.

Переопределяет:
isCompatibleSampleModel в классе ColorModel
Параметры:
sm - SampleModel для проверки совместимости.
Возвращает:
true если SampleModel совместим с этим ColorModel, false если нет.
См. также:
SampleModel

getAlphaRaster

public WritableRaster getAlphaRaster(WritableRaster raster)

Возвращает Raster, представляющий альфа-канал изображения, извлечённый из входного Raster. Этот метод предполагает, что объекты Raster, связанные с этим ColorModel, хранят полосу альфа-канала, если она присутствует, как последнюю полосу данных изображения. Возвращает null, если нет отдельного пространственного канала альфа-канала, связанного с этим ColorModel. Этот метод создаёт новый Raster, но будет совместно использовать массив данных.

Переопределяет:
getAlphaRaster в классе ColorModel
Параметры:
raster - WritableRaster для извлечения альфа-канала.
Возвращает:
WritableRaster, содержащий альфа-канал изображения.

equals

public boolean equals(Object obj)

Сравнивает эту модель цвета с другой моделью на равенство.

Переопределяет:
equals в классе ColorModel
Параметры:
obj - Объект для сравнения с этой моделью цвета.
Возвращает:
true если объекты модели цвета равны, false если нет.
См. также:
Object.hashCode(), HashMap

© 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.

Spec-Zone.ru

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