Spec-Zone.ru › OpenJDK 21

Класс ColorModel

java.lang.Object
java.awt.image.ColorModel
Все реализованные интерфейсы:
Transparency
Прямые известные подклассы:
ComponentColorModel, IndexColorModel, PackedColorModel
public abstract class ColorModel extends Object implements Transparency
Абстрактный класс ColorModel, encapsulating методы для преобразования значения пикселя в цветовые компоненты (например, красный, зелёный и синий) и альфа-компоненту. Для отрисовки изображения на экране, принтере или другом устройстве значения пикселей должны быть преобразованы в цветовые и альфа-компоненты. В качестве аргументов или возвращаемых значений методов этого класса пиксели представлены в виде 32-битных целых чисел или массивов примитивных типов. Количество, порядок и интерпретация цветовых компонентов для ColorModel задаются его ColorSpace. ColorModel используется с данными пикселей, не содержащими информацию об альфа-канале, обрабатывает все пиксели как непрозрачные, что соответствует значению альфа-канала 1.0.

Этот ColorModel класс поддерживает два представления значений пикселей. Значение пикселя может быть одиночным 32-битным целым числом или массивом примитивных типов. В API Java(tm) Platform 1.0 и 1.1 пиксели представлялись как одиночные значения byte или одиночные значения int. Для целей ColorModel класса аргументы значений пикселей передавались как целые числа. API Java(tm) 2 Platform API представил дополнительные классы для представления изображений. С объектами BufferedImage или RenderedImage, основанных на классах Raster и SampleModel, значения пикселей могут не быть удобно представлены как единственное целое число. Соответственно, ColorModel теперь имеет методы, принимающие значения пикселей, представленные как массивы примитивных типов. Примитивный тип, используемый конкретным ColorModel объектом, называется его типом передачи.

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

В настоящее время типы передачи, поддерживаемые API Java 2D(tm), это DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT и DataBuffer.TYPE_DOUBLE. Большинство операций рендеринга будут выполняться значительно быстрее при использовании ColorModel и изображений, основанных на первых трёх типах. Кроме того, некоторые операции фильтрации изображений не поддерживаются для ColorModel и изображений, основанных на последних трёх типах. Тип передачи для конкретного ColorModel объекта задаётся при создании объекта, явным образом или по умолчанию. Все подклассы ColorModel должны указать, каковы возможные типы передачи и как определяется количество элементов в примитивных массивах, представляющих пиксели.

Для BufferedImages, тип передачи его Raster и Raster объекта должен соответствовать типу передачи ColorModel. Количество элементов в массиве, представляющем пиксель для Raster и SampleModel (доступных из методов getNumDataElements этих классов), должно совпадать с количеством элементов ColorModel.

Алгоритм преобразования из значений пикселей в цветовые и альфа-компоненты зависит от подкласса. Например, необязательно существует взаимно однозначное соответствие между выборками, полученными от SampleModel объекта BufferedImage и цветовыми/альфа-компонентами. Даже если такое соответствие существует, количество битов в выборке не обязательно совпадает с количеством битов в соответствующей цветовой/альфа-компоненте. Каждый подкласс должен указать, как выполняется преобразование из значений пикселей в цветовые/альфа-компоненты.

Методы в классе ColorModel используют два различных представления цветовых и альфа-компонентов - нормализованную и ненормализованную форму. В нормализованной форме каждый компонент представляет собой float значение между некоторыми минимальными и максимальными значениями. Для альфа-компонента минимум равен 0.0, а максимум 1.0. Для цветовых компонентов минимальные и максимальные значения для каждого компонента можно получить из объекта ColorSpace. Эти значения часто будут 0.0 и 1.0 (например, нормализованные значения компонентов для стандартного цветового пространства sRGB находятся в диапазоне от 0.0 до 1.0), но некоторые цветовые пространства имеют значения компонентов с разными верхними и нижними пределами. Эти пределы можно получить, используя методы getMinValue и getMaxValue класса ColorSpace. Нормализованные значения цветовых компонентов не преумножены. Все ColorModels должны поддерживать нормализованную форму.

В ненормализованной форме каждый компонент представляет собой целое без знака от 0 до 2n - 1, где n - количество значащих битов для данного компонента. Если значения пикселей для данного ColorModel представляют цветовые выборки, умноженные на альфа-выборку, ненормализованные значения цветовых компонентов также преумножены. Ненормализованная форма используется только с экземплярами ColorModel, чьё ColorSpace имеет минимальные значения компонентов 0.0 для всех компонентов и максимальные значения 1.0 для всех компонентов. Ненормализованная форма для цветовых и альфа-компонентов может быть удобным представлением для ColorModels, чьи нормализованные значения компонентов находятся в диапазоне от 0.0 до 1.0. В таких случаях целое число 0 отображается как 0.0, а значение 2n - 1 отображается как 1.0. В других случаях, таких как когда нормализованные значения компонентов могут быть как отрицательными, так и положительными, ненормализованная форма неудобна. Такие ColorModel объекты выбрасывают исключение IllegalArgumentException, когда вызываются методы, включающие ненормализованный аргумент. Подклассы ColorModel должны указать условия, при которых это происходит.

См. также:
  • IndexColorModel
  • ComponentColorModel
  • PackedColorModel
  • DirectColorModel
  • Image
  • BufferedImage
  • RenderedImage
  • ColorSpace
  • SampleModel
  • Raster
  • DataBuffer

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

Модификатор и тип Поле Описание
protected int pixel_bits
Общее количество битов в пикселе.
protected int transferType
Тип данных массива, используемого для представления значений пикселей.

Объявленные в интерфейсе поля java.awt.Transparency

BITMASK, OPAQUE, TRANSLUCENT

Краткое описание конструкторов

ColorModel(int bits)
ColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
Модификатор Конструктор Описание
Создаёт ColorModel, который преобразует пиксели указанного количества битов в компоненты цвета/альфа.
protected
Создаёт ColorModel, который преобразует значения пикселей в компоненты цвета/альфа.

Краткое описание методов

Модификатор и тип Метод Описание
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)
Этот метод просто делегирует выполнение по умолчанию в Object, что идентично тесту ==, поскольку этот класс не может гарантировать корректность теста равенства между несколькими независимыми ветвями подклассов.
abstract int getAlpha(int pixel)
Возвращает компонент альфа для указанного пикселя, масштабированный от 0 до 255.
int getAlpha(Object inData)
Возвращает компонент альфа для указанного пикселя, масштабированный от 0 до 255.
WritableRaster getAlphaRaster(WritableRaster raster)
Возвращает Raster, представляющий канал альфа изображения, извлечённый из входного Raster, при условии, что значения пикселей этого ColorModel представляют информацию о цвете и альфа как отдельные пространственные полосы (например.
abstract int getBlue(int pixel)
Возвращает синюю составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB, sRGB.
int getBlue(Object inData)
Возвращает синюю составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB, sRGB.
final ColorSpace getColorSpace()
Возвращает ColorSpace связанный с этим ColorModel.
int[] getComponents(int pixel, int[] components, int offset)
Возвращает массив несведешённых компонентов цвета/альфа, заданных пикселем в этом ColorModel.
int[] getComponents(Object pixel, int[] components, int offset)
Возвращает массив несведешённых компонентов цвета/альфа, заданных пикселем в этом ColorModel.
int[] getComponentSize()
Возвращает массив количества битов на компонент цвета/альфа.
int getComponentSize(int componentIdx)
Возвращает количество битов для указанного компонента цвета/альфа.
int getDataElement(float[] normComponents, int normOffset)
Возвращает значение пикселя, представленное как int в этом ColorModel, заданными массивом нормализованных компонентов цвета/альфа.
int getDataElement(int[] components, int offset)
Возвращает значение пикселя, представленное как int в этом 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.
abstract int getGreen(int pixel)
Возвращает зелёную составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB, sRGB.
int getGreen(Object inData)
Возвращает зелёную составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB, sRGB.
float[] getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
Возвращает массив всех компонентов цвета/альфа в нормализованной форме, заданным массивом ненормализованных компонентов.
float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
Возвращает массив всех компонентов цвета/альфа в нормализованной форме, заданным пикселем в этом ColorModel.
int getNumColorComponents()
Возвращает количество компонентов цвета в этом ColorModel.
int getNumComponents()
Возвращает количество компонентов, включая альфа, в этом ColorModel.
int getPixelSize()
Возвращает количество битов на пиксель, описанное этим ColorModel.
abstract 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.
static ColorModel getRGBdefault()
Возвращает DirectColorModel, описывающий стандартный формат целочисленных значений RGB, используемых во многих методах интерфейсов изображений AWT для удобства программиста.
final int getTransferType()
Возвращает тип преобразования этого ColorModel.
int getTransparency()
Возвращает прозрачность.
int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
Возвращает массив всех компонентов цвета/альфа в ненормализованной форме, заданных массивом нормализованных компонентов.
final boolean hasAlpha()
Возвращает, поддерживается ли альфа в этом ColorModel.
int hashCode()
Этот метод просто делегирует выполнение по умолчанию в Object, которое возвращает системный идентификатор класса.
final boolean isAlphaPremultiplied()
Возвращает, было ли значение альфа предварительно умножено в значениях пикселей, подлежащих преобразованию этим ColorModel.
boolean isCompatibleRaster(Raster raster)
Возвращает true если raster совместим с этим ColorModel и false если нет.
boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместим ли SampleModel с этим ColorModel.
String toString()
Возвращает представление String содержимого этого объекта ColorModel.

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

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

Подробное описание полей

pixel_bits

protected int pixel_bits
Общее количество бит в пикселе.

transferType

protected int transferType
Тип данных массива, используемого для представления значений пикселей.

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

ColorModel

public ColorModel(int bits)
Создаёт ColorModel, который преобразует пиксели указанного количества бит в цветовые/альфа-компоненты. Цветовое пространство — стандартное RGB ColorSpace, которое является sRGB. Предполагается, что значения пикселей включают альфа-информацию. Если цветовая и альфа-информация представлены в значении пикселя как отдельные пространственные полосы, предполагается, что цветовые полосы не были предварительно умножены на альфа-значение. Тип прозрачности — java.awt.Transparency.TRANSLUCENT. Тип передачи будет наименьшим из DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT, который может содержать один пиксель (или DataBuffer.TYPE_UNDEFINED, если bits больше 32). Поскольку в этом конструкторе нет информации о количестве бит на цветовой и альфа-компонент, любой подкласс, вызывающий этот конструктор, должен переопределить любой метод, требующий этой информации.
Параметры:
bits - количество бит в пикселе
Исключения:
IllegalArgumentException - если количество бит в bits меньше 1

ColorModel

protected ColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
Создаёт ColorModel , который преобразует значения пикселей в цветовые/альфа-компоненты. Цветовые компоненты будут в указанном ColorSpace. pixel_bits — количество бит в значениях пикселей. Массив bits указывает количество значащих бит на цветовой и альфа-компонент. Его длина должна быть равна количеству компонентов в ColorSpace, если в значениях пикселей нет альфа-информации, или на единицу больше этого числа, если есть альфа-информация. hasAlpha указывает, присутствует ли альфа-информация. boolean isAlphaPremultiplied определяет, как интерпретировать значения пикселей, в которых цветовая и альфа-информация представлены как отдельные пространственные полосы. Если boolean true, предполагается, что цветовые образцы были умножены на альфа-образец. transparency указывает, какие значения альфа могут быть представлены этой цветовой моделью. Тип передачи — тип примитивного массива, используемого для представления значений пикселей. Обратите внимание, что массив bits содержит количество значащих бит на цветовой/альфа-компонент после преобразования из значений пикселей. Например, для IndexColorModel с pixel_bits, равным 16, массив bits может содержать четыре элемента, каждый из которых равен 8.
Параметры:
pixel_bits - количество бит в значениях пикселей
bits - массив, определяющий количество значащих бит на цветовой и альфа-компонент
cspace - указанное ColorSpace
hasAlpha - true если альфа-информация присутствует; false в противном случае
isAlphaPremultiplied - true если цветовые образцы предполагается предварительно умножить на альфа-образцы; false в противном случае
transparency - какие значения альфа могут быть представлены этой цветовой моделью
transferType - тип массива, используемого для представления значений пикселей
Исключения:
IllegalArgumentException - если длина массива bit меньше числа цветовых или альфа-компонентов в этом ColorModel, или если тип прозрачности не является допустимым значением.
IllegalArgumentException - если сумма количества бит в bits меньше 1 или любой из элементов в bits меньше 0.
См. также:
  • Transparency

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

getRGBdefault

public static ColorModel getRGBdefault()
Возвращает DirectColorModel, описывающий стандартный формат целочисленных значений RGB, используемый во многих методах интерфейсов изображений AWT для удобства программиста. Цветовое пространство — стандартное ColorSpace, sRGB. Формат значений RGB — целое число с 8 битами на каждый из компонент альфа, красного, зелёного и синего цветов, упорядоченных соответственно от старшего байта к младшему, как в: 0xAARRGGBB. Цветовые компоненты не предварительно умножаются на альфа-компонент. Этот формат не обязательно представляет собой родной или наиболее эффективный ColorModel для конкретного устройства или для всех изображений. Он используется только в качестве стандартного формата цветовой модели.
Возвращает:
объект DirectColorModel , описывающий значения по умолчанию RGB.

hasAlpha

public final boolean hasAlpha()
Возвращает, поддерживается ли альфа в этом ColorModel.
Возвращает:
true если альфа поддерживается в этом ColorModel; false в противном случае.

isAlphaPremultiplied

public final boolean isAlphaPremultiplied()
Возвращает, предварительно ли умножена альфа в значениях пикселей, которые будут преобразованы этим ColorModel. Если булево значение true, этот ColorModel используется для интерпретации значений пикселей, в которых цветовая и альфа-информация представлены как отдельные пространственные полосы, и цветовые образцы предполагается предварительно умножить на альфа-образец.
Возвращает:
true если значения альфа предварительно умножены в значениях пикселей, которые будут преобразованы этим ColorModel; false в противном случае.

getTransferType

public final int getTransferType()
Возвращает тип передачи этого ColorModel. Тип передачи — это тип примитивного массива, используемого для представления значений пикселей как массивов.
Возвращает:
тип передачи.
С тех пор:
1.3

getPixelSize

public int getPixelSize()
Возвращает количество бит на пиксель, описанное этим ColorModel.
Возвращает:
количество бит на пиксель.

getComponentSize

public int getComponentSize(int componentIdx)
Возвращает количество бит для указанного цветового/альфа-компонента. Цветовые компоненты индексируются в порядке, заданном ColorSpace. Обычно этот порядок отражает имя типа цветового пространства. Например, для TYPE_RGB индекс 0 соответствует красному, индекс 1 — зелёному, а индекс 2 — синему. Если этот ColorModel поддерживает альфа, альфа-компонент соответствует индексу, следующему за последним цветовым компонентом.
Параметры:
componentIdx - индекс цветового/альфа-компонента
Возвращает:
количество бит для цветового/альфа-компонента по указанному индексу.
Исключения:
ArrayIndexOutOfBoundsException - если componentIdx больше или равен количеству компонентов или меньше нуля
NullPointerException - если массив бит null

getComponentSize

public int[] getComponentSize()
Возвращает массив количества бит на каждый цветовой/альфа-компонент. Массив содержит цветовые компоненты в порядке, заданном ColorSpace, за которыми следует альфа-компонент, если он присутствует.
Возвращает:
массив количества бит на каждый цветовой/альфа-компонент

getTransparency

public int getTransparency()
Возвращает прозрачность. Возвращает либо OPAQUE, либо BITMASK, либо TRANSLUCENT.
Определено в:
getTransparency в интерфейсе Transparency
Возвращает:
прозрачность этого ColorModel.
См. также:
  • Transparency.OPAQUE
  • Transparency.BITMASK
  • Transparency.TRANSLUCENT

getNumComponents

public int getNumComponents()
Возвращает количество компонентов, включая альфа, в этом ColorModel. Это равно количеству цветовых компонентов, возможно, плюс один, если есть альфа-компонент.
Возвращает:
количество компонентов в этом ColorModel

getNumColorComponents

public int getNumColorComponents()
Возвращает количество цветовых компонентов в этом ColorModel. Это число компонентов, возвращаемое ColorSpace.getNumComponents().
Возвращает:
количество цветовых компонентов в этом ColorModel.
См. также:
  • ColorSpace.getNumComponents()

getRed

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

getGreen

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

getBlue

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

getAlpha

public abstract int getAlpha(int pixel)
Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. Значение пикселя задаётся как целое число. Бросается исключение IllegalArgumentException, если значения пикселей для этого ColorModel не могут быть удобно представлены как одно целое число.
Parameters:
pixel - указанный пиксель
Returns:
значение альфа-компонента указанного пикселя.

getRGB

public int getRGB(int pixel)
Возвращает компоненты цвета/альфа указанного пикселя в формате стандартной цветовой модели RGB. Если необходимо, выполняется преобразование цвета. Значение пикселя задаётся как целое число. Бросается исключение IllegalArgumentException, если значения пикселей для этого ColorModel не могут быть удобно представлены как одно целое число. Возвращаемое значение в формате без умножения на альфа-канал. Например, если альфа-канал умножен на цвет, этот метод делит его из компонент цвета. Если значение альфа-канала равно 0, значения цвета равны 0.
Parameters:
pixel - указанный пиксель
Returns:
значение RGB компонент цвета/альфа указанного пикселя.
See Also:
  • getRGBdefault()

getRed

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

getGreen

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

getBlue

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

getAlpha

public int getAlpha(Object inData)
Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. Значение пикселя задаётся массивом элементов данных типа transferType, переданных в качестве ссылки на объект. Если inData не является примитивным массивом типа transferType, бросается исключение ClassCastException. Бросается исключение ArrayIndexOutOfBoundsException, если inData не достаточно велик, чтобы содержать значение пикселя для этого ColorModel. Если этот transferType не поддерживается, будет брошено исключение UnsupportedOperationException. Поскольку ColorModel — абстрактный класс, любой экземпляр должен быть экземпляром подкласса. Подклассы наследуют реализацию этого метода, и если они его не переопределяют, этот метод выбрасывает исключение, если подкласс использует тип transferType отличный от DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, или DataBuffer.TYPE_INT.
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).
Parameters:
inData - указанный пиксель
Returns:
компоненты цвета и альфа указанного пикселя.
See Also:
  • getRGBdefault()

getDataElements

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

getComponents

public int[] getComponents(Object pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых/альфа-компонентов, заданных пикселем в этом ColorModel. Значение пикселя задается массивом элементов данных типа transferType, переданным как ссылка на объект. Если pixel не является примитивным массивом типа transferType, будет брошено исключение ClassCastException. Бросается исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме. Бросается исключение ArrayIndexOutOfBoundsException, если pixel недостаточно велик для хранения значения пикселя для этого ColorModel. Этот метод может быть использован для извлечения компонентов для определенного значения пикселя в любом ColorModel. Если массив компонентов null, будет выделен новый массив. Массив компонентов будет возвращен. Цветовые/альфа-компоненты хранятся в массиве components начиная с offset (даже если массив выделен этим методом). Бросается исключение ArrayIndexOutOfBoundsException, если массив компонентов не null и не достаточно велик для хранения всех цветовых и альфа-компонентов (начиная с offset). Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.
Parameters:
pixel - указанный пиксель
components - массив, получающий цветовые и альфа-компоненты указанного пикселя
offset - индекс в массиве components для начала хранения цветовых и альфа-компонентов указанного пикселя
Returns:
массив, содержащий цветовые и альфа-компоненты указанного пикселя, начиная с указанного смещения.
Throws:
UnsupportedOperationException - если этот метод не поддерживается этим 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.
Parameters:
normComponents - массив, содержащий нормализованные компоненты
normOffset - смещение в массиве normComponents для начала получения нормализованных компонентов
components - массив, получающий компоненты из normComponents
offset - индекс в массиве components для начала хранения нормализованных компонентов из normComponents
Returns:
массив, содержащий ненормализованные цветовые и альфа-компоненты.
Throws:
IllegalArgumentException - Если значения компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме.
IllegalArgumentException - если длина normComponents минус normOffset меньше numComponents
UnsupportedOperationException - если конструктор этого ColorModel вызвал конструктор super(bits), но не переопределил этот метод. См. конструктор ColorModel(int).

getNormalizedComponents

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

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

Parameters:
components - массив, содержащий ненормализованные компоненты
offset - смещение в массиве components, с которого начинать извлечение ненормализованных компонентов
normComponents - массив, принимающий нормализованные компоненты
normOffset - индекс в normComponents для начала хранения нормализованных компонентов
Returns:
массив, содержащий нормализованные компоненты цвета и альфа.
Throws:
IllegalArgumentException - если значения компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме.
UnsupportedOperationException - если конструктор этого ColorModel вызвал конструктор super(bits), но не переопределил этот метод. См. конструктор ColorModel(int).
UnsupportedOperationException - если этот метод не может определить количество битов на компонент

getDataElement

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

getDataElements

public Object getDataElements(int[] components, int offset, Object obj)
Возвращает массив элементов данных, представляющий пиксель в этом ColorModel, заданный массивом ненормализованных компонентов цвета/альфа. Этот массив затем можно передать методу setDataElements объекта WritableRaster. Этот метод выбросит исключение IllegalArgumentException, если значения компонентов цвета для этого ColorModel не могут быть удобно представлены в ненормализованной форме. Будет выброшено исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех компонентов цвета и альфа (начиная с offset). Если переменная obj равна null, будет выделен новый массив. Если obj не равен null, он должен быть примитивным массивом типа transferType; в противном случае будет выброшено исключение ClassCastException. Будет выброшено исключение ArrayIndexOutOfBoundsException, если obj недостаточно велик для хранения значения пикселя для этого ColorModel. Так как ColorModel — абстрактный класс, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбросит исключение UnsupportedOperationException.
Parameters:
components - массив ненормализованных компонентов цвета и альфа
offset - индекс в components для начала извлечения компонентов цвета и альфа
obj - Object представляющий массив компонентов цвета и альфа
Returns:
Object представляющий массив компонентов цвета и альфа.
Throws:
ClassCastException - если obj не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если obj недостаточно велик для хранения значения пикселя для этого ColorModel или массив components недостаточно велик для хранения всех компонентов цвета и альфа, начиная с offset
IllegalArgumentException - если значения компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме
UnsupportedOperationException - если этот метод не поддерживается этим ColorModel
See Also:
  • 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). Так как ColorModel — абстрактный класс, любой его экземпляр является экземпляром подкласса. Реализация этого метода в этом абстрактном классе сначала выполняет преобразование из нормализованной формы в ненормализованную, а затем вызывает getDataElement(int[], int). Подклассы, экземпляры которых могут не поддерживать ненормализованную форму, должны переопределить этот метод.
Parameters:
normComponents - массив нормализованных компонентов цвета и альфа
normOffset - индекс в normComponents для начала извлечения компонентов цвета и альфа
Returns:
значение пикселя int в этом ColorModel, соответствующее указанным компонентам.
Throws:
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. Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. В реализации по умолчанию этого метода в этом абстрактном классе сначала выполняется преобразование из нормализованной формы в ненормализованную, а затем вызывается метод getDataElement(int[], int, Object). Подклассы, у экземпляров которых может отсутствовать поддержка ненормализованной формы, должны переопределить этот метод.
Parameters:
normComponents - массив нормализованных компонентов цвета и альфа
normOffset - индекс в normComponents, с которого начинать извлечение компонентов цвета и альфа
obj - примитивный массив данных для хранения возвращаемого пикселя
Returns:
примитивный массив данных, представляющий пиксель
Throws:
ClassCastException - если obj не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если obj недостаточно велик, чтобы вместить значение пикселя для этого ColorModel или массив normComponents недостаточно велик, чтобы вместить все компоненты цвета и альфа, начиная с normOffset
Since:
1.4
See Also:
  • 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). Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. В реализации по умолчанию этого метода в этом абстрактном классе сначала извлекаются компоненты цвета и альфа в ненормализованной форме с помощью getComponents(Object, int[], int), а затем вызывается метод getNormalizedComponents(int[], int, float[], int). Подклассы, у экземпляров которых может отсутствовать поддержка ненормализованной формы, должны переопределить этот метод.
Parameters:
pixel - указанный пиксель
normComponents - массив для получения нормализованных компонентов
normOffset - смещение в массиве normComponents, с которого начинать хранение нормализованных компонентов
Returns:
массив, содержащий нормализованные компоненты цвета и альфа.
Throws:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если normComponents недостаточно велик, чтобы вместить все компоненты цвета и альфа, начиная с normOffset
ArrayIndexOutOfBoundsException - если pixel недостаточно велик, чтобы вместить значение пикселя для этого ColorModel.
UnsupportedOperationException - если конструктор этого ColorModel вызвал конструктор super(bits), но не переопределил этот метод. См. конструктор ColorModel(int).
UnsupportedOperationException - если этот метод не может определить количество бит на компонент
Since:
1.4

equals

public boolean equals(Object obj)
Этот метод просто делегирует выполнение стандартной реализации в Object, которая идентична тесту на ==, так как этот класс не может обеспечить надлежащий тест на равенство для различных независимых ветвей подклассов. Подклассам рекомендуется переопределить этот метод и предоставить тест на равенство для собственных свойств в дополнение к тестам на равенство для следующих общих базовых свойств ColorModel:
  • Поддержка компонента альфа.
  • Альфа умножается на цвет.
  • Количество бит на пиксель.
  • Тип прозрачности (Непрозрачный, Маска или Полупрозрачный).
  • Количество компонентов в пикселе.
  • ColorSpace тип.
  • Тип массива, используемого для представления значений пикселей.
  • Количество значащих бит на компонент цвета и альфа.
Overrides:
equals в классе Object
Parameters:
obj - ссылка на объект для сравнения.
Returns:
true если этот объект такой же, как аргумент obj; false в противном случае.
See Also:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Этот метод просто делегирует выполнение стандартной реализации в Object, которая возвращает системный идентификатор для класса. Подклассам рекомендуется переопределить этот метод и предоставить хеш для собственных свойств в дополнение к хешированию значений следующих общих базовых свойств ColorModel:
  • Поддержка компонента альфа.
  • Альфа умножается на цвет.
  • Количество бит на пиксель.
  • Тип прозрачности (Непрозрачный, Маска или Полупрозрачный).
  • Количество компонентов в пикселе.
  • ColorSpace тип.
  • Тип массива, используемого для представления значений пикселей.
  • Количество значащих бит на компонент цвета и альфа.
Overrides:
hashCode в классе Object
Returns:
значение хеш-кода для этого объекта.
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

getColorSpace

public final ColorSpace getColorSpace()
Возвращает ColorSpace ассоциированный с этим ColorModel.
Returns:
ColorSpace этого ColorModel.

coerceData

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

isCompatibleRaster

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

createCompatibleWritableRaster

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

createCompatibleSampleModel

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

isCompatibleSampleModel

public boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместим ли SampleModel с данным ColorModel. Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает UnsupportedOperationException.
Parameters:
sm - указанный SampleModel
Returns:
true если указанный SampleModel совместим с этим ColorModel; false в противном случае.
Throws:
UnsupportedOperationException - если этот метод не поддерживается данным ColorModel
See Also:
  • SampleModel

getAlphaRaster

public WritableRaster getAlphaRaster(WritableRaster raster)
Возвращает Raster, представляющий альфа-канал изображения, извлечённый из входного Raster, при условии, что значения пикселей в этом ColorModel представляют информацию о цвете и альфа-канале как отдельные пространственные полосы (например, ComponentColorModel и DirectColorModel). Этот метод предполагает, что объекты Raster, связанные с таким ColorModel, хранят альфа-полосу, если она присутствует, как последнюю полосу данных изображения. Возвращает null если нет отдельного пространственного альфа-канала, связанного с этим ColorModel. Если это IndexColorModel, имеющий альфа-канал в таблице поиска, этот метод вернёт null, так как нет пространственно дискретного альфа-канала. Этот метод создаст новый Raster (но будет использовать массив данных). Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, чтобы получить поведение, отличное от возврата null, потому что реализация в этом абстрактном классе возвращает null.
Parameters:
raster - указанный Raster
Returns:
объект Raster, представляющий альфа-канал изображения, полученный из указанного Raster.

toString

public String toString()
Возвращает строковое представление содержимого объекта этого ColorModel.
Overrides:
toString в классе Object
Returns:
строковое представление содержимого объекта этого ColorModel.

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

Spec-Zone.ru

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