Spec-Zone.ru › OpenJDK 24

Класс ColorModel

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

Этот класс ColorModel поддерживает два представления значений пикселей. Значение пикселя может быть представлено как единственное 32-битное целое число или как массив примитивных типов. В API Java(tm) Platform 1.0 и 1.1 пиксели представлялись как одиночные значения byte или одиночные значения int. Для целей класса ColorModel аргументы значений пикселей передавались как целые числа. API Java(tm) 2 Platform ввел дополнительные классы для представления изображений. С объектами 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 ColorSpace, 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 ColorSpace, 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 ColorSpace, 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 — если массив bit 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 ColorSpace, sRGB. Необходимое преобразование цвета выполняется при необходимости. Значение пикселя задаётся как целое число. Бросает исключение IllegalArgumentException, если значения пикселей для этого ColorModel не могут быть удобно представлены одним целым числом. Возвращаемое значение не является предварительно умноженным. Например, если альфа-канал предварительно умножен, этот метод делит его перед возвратом значения. Если значение альфа-канала равно 0, значение красного цвета равно 0.
Параметры:
pixel - указанный пиксель
Возвращает:
значение красного компонента указанного пикселя.

getGreen

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

getBlue

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

getAlpha

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

getRGB

public int getRGB(int pixel)
Возвращает цветовые/альфа-компоненты пикселя в формате по умолчанию RGB. Необходимое преобразование цвета выполняется при необходимости. Значение пикселя задаётся как целое число. Бросает исключение IllegalArgumentException, если значения пикселей для этого ColorModel не могут быть удобно представлены одним целым числом. Возвращаемое значение имеет формат без предварительного умножения. Например, если альфа-канал предварительно умножен, этот метод делит его из цветовых компонентов. Если значение альфа-канала равно 0, цветовые значения равны 0.
Параметры:
pixel - указанный пиксель
Возвращает:
значение RGB цветовых/альфа-компонентов указанного пикселя.
См. также:
  • 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.
Параметры:
inData - массив значений пикселей
Возвращает:
значение красного компонента указанного пикселя.
Выбрасывает:
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.
Параметры:
inData - массив значений пикселей
Возвращает:
значение зелёного компонента указанного пикселя.
Выбрасывает:
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.
Параметры:
inData - массив значений пикселей
Возвращает:
значение синего компонента указанного пикселя.
Выбрасывает:
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.
Параметры:
inData - указанный пиксель
Возвращает:
альфа-компонент указанного пикселя, масштабированный от 0 до 255.
Выбрасывает:
ClassCastException - если inData не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если inData недостаточно велико для хранения значения пикселя для этого ColorModel
UnsupportedOperationException - если этот transferType не поддерживается этим ColorModel

getRGB

public int getRGB(Object inData)
Возвращает цветовые/альфа-компоненты для указанного пикселя в формате стандартной цветовой модели RGB. Преобразование цвета выполняется при необходимости. Значение пикселя задаётся массивом элементов данных типа transferType, переданным в качестве ссылки на объект. Если inData не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Выбрасывается исключение ArrayIndexOutOfBoundsException, если inData недостаточно велик, чтобы содержать значение пикселя для этого ColorModel. Возвращаемое значение будет в формате без предварительного умножения, т.е. если альфа предварительно умножена, этот метод разделит её на цветовые компоненты (если значение альфа равно 0, значения цветов будут 0).
Параметры:
inData - указанный пиксель
Возвращает:
цветовые и альфа-компоненты указанного пикселя.
См. также:
  • 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.
Параметры:
rgb - целочисленное представление пикселя в стандартной цветовой модели RGB
pixel - указанный пиксель
Возвращает:
массив, представляющий указанный пиксель в этом ColorModel.
Исключения:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик, чтобы содержать значение пикселя для этого ColorModel
UnsupportedOperationException - если этот метод не поддерживается этим ColorModel
См. также:
  • 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.
Параметры:
pixel - указанный пиксель
components - массив для получения цветовых и альфа-компонентов указанного пикселя
offset - смещение в массиве components, с которого начинать хранение цветовых и альфа-компонентов
Возвращает:
массив, содержащий цветовые и альфа-компоненты указанного пикселя, начиная со специфицированного смещения.
Исключения:
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.
Параметры:
pixel - указанный пиксель
components - массив, который получает цветовые и альфа-компоненты указанного пикселя
offset - индекс в массиве components, с которого начинать хранение цветовых и альфа-компонентов указанного пикселя
Возвращает:
массив, содержащий цветовые и альфа-компоненты указанного пикселя, начиная со специфицированного смещения.
Исключения:
UnsupportedOperationException - если этот метод не поддерживается этим ColorModel

getUnnormalizedComponents

public int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
Возвращает массив всех цветовых/альфа-компонентов в неунормированной форме, заданных массивом нормированных компонентов. Ненормированные компоненты - это целые беззнаковые значения от 0 до 2n - 1, где n - количество битов для конкретного компонента. Нормированные компоненты - значения типа float между минимальным и максимальным значениями по компоненту, указанными объектом ColorSpace для этого ColorModel. Выбрасывается исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel не могут быть удобно представлены в неунормированной форме. Если массив components null, будет выделен новый массив. Будет возвращён массив components. Цветовые/альфа-компоненты хранятся в массиве components, начиная со смещения offset (даже если массив выделяется этим методом). Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив components не null и недостаточно велик, чтобы содержать все цветовые и альфа-компоненты (начиная со смещения offset). Выбрасывается исключение IllegalArgumentException, если массив normComponents недостаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная со смещения normOffset.
Параметры:
normComponents - массив, содержащий нормированные компоненты
normOffset - смещение в массиве normComponents, с которого начинать получение нормированных компонентов
components - массив, который получает компоненты из normComponents
offset - индекс в components, с которого начинать хранение нормированных компонентов из normComponents
Возвращает:
массив, содержащий неунормированные цветовые и альфа-компоненты.
Исключения:
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 — количество битов для конкретного компонента. Нормализованные компоненты — это значения типа float, находящиеся между минимальным и максимальным значением, определенным для данного компонента объектом 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 не пустой, он должен быть примитивным массивом типа transferType; в противном случае бросается исключение ClassCastException. Бросается исключение ArrayIndexOutOfBoundsException, если obj недостаточно большой, чтобы вместить значение пикселя для этого ColorModel. Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе бросает исключение UnsupportedOperationException.
Parameters:
components - массив ненормализованных компонентов цвета и альфа-канала
offset - индекс в массиве components, с которого начинать извлечение компонентов цвета и альфа-канала
obj - массив, представляющий массив компонентов цвета и альфа-канала
Returns:
массив, представляющий массив компонентов цвета и альфа-канала.
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:
массив Object, представляющий примитивный массив данных пикселя
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, переданных в качестве ссылки на объект. Если pixel не является примитивным массивом типа transferType, бросается исключение ClassCastException. Бросается исключение ArrayIndexOutOfBoundsException, если pixel недостаточно велик, чтобы содержать значение пикселя для этого ColorModel. Нормализованные компоненты — это значения с плавающей точкой от 0 до 1, указанные объектом ColorSpace для этого ColorModel. Если массив normComponents равен null, будет выделен новый массив. Будет возвращен массив normComponents. Цветовые/альфа-компоненты хранятся в массиве normComponents, начиная с normOffset (даже если массив выделяется этим методом). Бросается исключение ArrayIndexOutOfBoundsException, если массив normComponents не является null и недостаточно велик, чтобы содержать все цветовые и альфа-компоненты (начиная с 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()
Возвращает цветовое пространство, связанное с этим ColorModel.
Returns:
цветовое пространство этого ColorModel.

coerceData

public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
Принудительно изменяет данные растра, чтобы они соответствовали состоянию, указанному в переменной isAlphaPremultiplied, предполагая, что данные в настоящее время корректно описываются этим ColorModel. Может умножать или делить цветовые данные растра на альфа-канал или ничего не делать, если данные находятся в правильном состоянии. Если данные требуют изменения, этот метод также вернет экземпляр этого ColorModel с соответствующим флагом isAlphaPremultiplied. Этот метод бросит исключение UnsupportedOperationException, если он не поддерживается этим ColorModel. Поскольку ColorModel — абстрактный класс, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе бросает исключение UnsupportedOperationException.
Parameters:
raster - данные WritableRaster
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.
Параметры:
w - ширина, применяемая к новому WritableRaster
h - высота, применяемая к новому WritableRaster
Возвращает:
объект WritableRaster заданной ширины и высоты.
Исключения:
UnsupportedOperationException - если этот метод не поддерживается этим ColorModel
См. также:
  • WritableRaster
  • SampleModel

createCompatibleSampleModel

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

isCompatibleSampleModel

public boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместим ли SampleModel с этим ColorModel. Так как ColorModel — абстрактный класс, любой его экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе генерирует UnsupportedOperationException.
Параметры:
sm - указанный SampleModel
Возвращает:
true, если указанный SampleModel совместим с этим ColorModel; false в противном случае.
Исключения:
UnsupportedOperationException - если этот метод не поддерживается этим ColorModel
См. также:
  • SampleModel

getAlphaRaster

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

toString

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

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/image/ColorModel.html

Spec-Zone.ru

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