Spec-Zone.ru › OpenJDK 17

Класс 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) платформы 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 (доступный через методы getTransferType этих классов) должен соответствовать типу передачи 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, которое идентично тесту ==, поскольку этот класс не может обеспечить проверку корректности равенства среди нескольких независимых ветвей подклассов.
void finalize()
Устаревший, для удаления: Этот элемент API может быть удалён в будущей версии.
Метод finalize устарел.
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()
Возвращает строковое представление содержимого этого объекта ColorModel.

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

clone, 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 - если длина массива битов меньше количества цветовых или альфа-компонентов в данном 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. Если boolean равно 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. Если необходимо, выполняется преобразование цвета. Значение пикселя задается как int. Бросается исключение IllegalArgumentException, если значения пикселей для этой ColorModel неудобно представимы как единственное целое число. Возвращаемое значение не является предварительно умноженным значением. Например, если альфа предварительно умножена, этот метод делит её перед возвратом значения. Если значение альфы равно 0, значение красного равно 0.
Параметры:
pixel - указанный пиксель
Возвращает:
значение компонента красного указанного пикселя.

getGreen

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

getBlue

public abstract int getBlue(int pixel)
Возвращает компонент синего цвета для указанного пикселя, масштабированный от 0 до 255 в стандартном RGB ColorSpace, 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).

ПолучитьНормализованныеКомпоненты

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 является абстрактным классом, любой экземпляр является экземпляром подкласса. По умолчанию в этом абстрактном классе предполагается, что значения компонент для этого класса могут быть удобно представлены в ненормализованной форме. Поэтому подклассы, которые могут иметь экземпляры, не поддерживающие ненормализованную форму, должны переопределить этот метод.

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

ПолучитьЭлементДанных

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

ПолучитьЭлементыДанных

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.
Параметры:
components - массив ненормализованных цветовых и альфа-компонентов
offset - индекс в components для начала извлечения цветовых и альфа-компонентов
obj - массив Object , представляющий массив цветовых и альфа-компонентов
Возвращает:
массив Object , представляющий массив цветовых и альфа-компонентов.
ИИсключения:
ClassCastException - если obj не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если obj недостаточно большой для хранения значения пикселя для этого ColorModel или массив components недостаточно большой для хранения всех цветовых и альфа-компонентов, начиная с позиции offset
IllegalArgumentException - если значения компонент для этого ColorModel не могут быть удобно представлены в ненормализованной форме
UnsupportedOperationException - если этот метод не поддерживается данным ColorModel
См. также:
  • WritableRaster.setDataElements(int, int, java.lang.Object)
  • SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

ПолучитьЭлементДанных

public int getDataElement(float[] normComponents, int normOffset)
Возвращает значение пикселя, представленное как int в этом ColorModel, заданного массивом нормализованных цветовых/альфа-компонентов. Этот метод выбросит исключение IllegalArgumentException, если значения пикселей для этого ColorModel не могут быть удобно представлены как одно int. Будет выброшено исключение ArrayIndexOutOfBoundsException, если массив normComponents недостаточно большой для хранения всех цветовых и альфа-компонентов (начиная с позиции normOffset). Поскольку ColorModel — абстрактный класс, любой экземпляр является экземпляром подкласса. По умолчанию в этом абстрактном классе сначала выполняется преобразование из нормализованной формы в ненормализованную, а затем вызывается метод getDataElement(int[], int). Подклассы, которые могут иметь экземпляры, не поддерживающие ненормализованную форму, должны переопределить этот метод.
Параметры:
normComponents - массив нормализованных цветовых и альфа-компонентов
normOffset - индекс в normComponents для начала извлечения цветовых и альфа-компонентов
Возвращает:
значение пикселя int в этом ColorModel, соответствующее заданным компонентам.
ИИсключения:
IllegalArgumentException - если значения пикселей для этого ColorModel не могут быть удобно представлены как одно int
ArrayIndexOutOfBoundsException - если массив normComponents недостаточно большой для хранения всех цветовых и альфа-компонентов, начиная с позиции normOffset
С момента:
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, переданных в качестве ссылки на объект. Если pixel не является примитивным массивом типа 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 - данные 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.
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

finalize

@Deprecated(since="9", forRemoval=true) public void finalize()
Устаревший, для удаления: Этот элемент API может быть удалён в будущей версии.
Метод finalize устарел. Подклассы, переопределяющие finalize для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки и удалить переопределённый метод finalize. При переопределении метода finalize, его реализация должна явно гарантировать, что super.finalize() вызывается как описано в Object.finalize(). См. спецификацию для Object.finalize() для получения дополнительной информации о вариантах миграции.
Освобождает системные ресурсы, связанные с этим ColorModel, когда этот ColorModel больше не ссылается.
Overrides:
finalize в классе Object
See Also:
  • WeakReference
  • PhantomReference

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, 2021, 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/17/docs/api/java.desktop/java/awt/image/ColorModel.html

Spec-Zone.ru

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