Класс 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 (доступен через методы 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) | Создаёт | |
protected | ColorModel(int pixel_bits,
int[] bits,
ColorSpace cspace,
boolean hasAlpha,
boolean isAlphaPremultiplied,
int transparency,
int transferType) | Создаёт |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
ColorModel | coerceData(WritableRaster raster,
boolean isAlphaPremultiplied) | Принудительно привязывает данные растрового изображения к состоянию, заданному в переменной |
SampleModel | createCompatibleSampleModel(int w,
int h) | Создаёт |
WritableRaster | createCompatibleWritableRaster(int w,
int h) | Создаёт |
boolean | equals(Object obj) | Этот метод просто делегирует выполнение стандартной реализации в |
void | finalize() | Устаревший. Метод finalize устарел. |
abstract int | getAlpha(int pixel) | Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. |
int | getAlpha(Object inData) | Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. |
WritableRaster | getAlphaRaster(WritableRaster raster) | Возвращает |
abstract int | getBlue(int pixel) | Возвращает синюю составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. |
int | getBlue(Object inData) | Возвращает синюю составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB |
ColorSpace | getColorSpace() | Возвращает |
int[] | getComponents(int pixel,
int[] components,
int offset) | Возвращает массив ненормализованных компонент цвета/альфы, заданных пикселем в этом |
int[] | getComponents(Object pixel,
int[] components,
int offset) | Возвращает массив ненормализованных компонент цвета/альфы, заданных пикселем в этом |
int[] | getComponentSize() | Возвращает массив количества бит на компоненту цвета/альфы. |
int | getComponentSize(int componentIdx) | Возвращает количество бит для указанной компоненты цвета/альфы. |
int | getDataElement(float[] normComponents,
int normOffset) | Возвращает значение пикселя, представленное как |
int | getDataElement(int[] components,
int offset) | Возвращает значение пикселя, представленное как |
Object | getDataElements(float[] normComponents,
int normOffset,
Object obj) | Возвращает представление массива данных элемента пикселя в этом |
Object | getDataElements(int[] components,
int offset,
Object obj) | Возвращает представление массива данных элемента пикселя в этом |
Object | getDataElements(int rgb,
Object pixel) | Возвращает представление массива данных элемента пикселя в этом |
abstract int | getGreen(int pixel) | Возвращает зелёную составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. |
int | getGreen(Object inData) | Возвращает зелёную составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB |
float[] | getNormalizedComponents(int[] components,
int offset,
float[] normComponents,
int normOffset) | Возвращает массив всех компонент цвета/альфы в нормализованной форме, исходя из массива ненормализованных компонент. |
float[] | getNormalizedComponents(Object pixel,
float[] normComponents,
int normOffset) | Возвращает массив всех компонент цвета/альфы в нормализованной форме, исходя из пикселя в этом |
int | getNumColorComponents() | Возвращает количество цветовых компонент в этом |
int | getNumComponents() | Возвращает количество компонент, включая альфу, в этом |
int | getPixelSize() | Возвращает количество бит на пиксель, описанное этим |
abstract int | getRed(int pixel) | Возвращает красную составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. |
int | getRed(Object inData) | Возвращает красную составляющую цвета для указанного пикселя, масштабированную от 0 до 255 в стандартном цветовом пространстве RGB |
int | getRGB(int pixel) | Возвращает компоненты цвета/альфы пикселя в формате стандартной цветовой модели RGB. |
int | getRGB(Object inData) | Возвращает компоненты цвета/альфы для указанного пикселя в формате стандартной цветовой модели RGB. |
static ColorModel | getRGBdefault() | Возвращает |
int | getTransferType() | Возвращает тип преобразования этого |
int | getTransparency() | Возвращает прозрачность. |
int[] | getUnnormalizedComponents(float[] normComponents,
int normOffset,
int[] components,
int offset) | Возвращает массив всех компонент цвета/альфы в ненормализованной форме, исходя из нормализованного массива компонент. |
boolean | hasAlpha() | Возвращает, поддерживается ли альфа в этом |
int | hashCode() | Этот метод просто делегирует выполнение стандартной реализации в |
boolean | isAlphaPremultiplied() | Возвращает, умножена ли альфа на значение пикселя, подлежащее преобразованию этим |
boolean | isCompatibleRaster(Raster raster) | Возвращает |
boolean | isCompatibleSampleModel(SampleModel sm) | Проверяет, совместим ли |
String | toString() | Возвращает |
Методы, объявленные в классе 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- если длина массива bit меньше числа цветовых или альфа-компонентов в этомColorModel, или если прозрачность не является допустимым значением. -
IllegalArgumentException- если сумма количества бит вbitsменьше 1 или если любой из элементов вbitsменьше 0. - См. также:
Transparency
Методы
getRGBdefault
public static ColorModel getRGBdefault()
Возвращает объект, описывающий стандартный формат целочисленных значений RGB, используемых во многих методах интерфейсов изображений AWT для удобства программиста. Пространство цветов — стандартное ColorSpace, sRGB. Формат значений RGB — целое число с 8 битами каждый для альфа-, красного, зелёного и синего цветовых компонентов, упорядоченных соответственно от старшего байта к младшему, как в: 0xAARRGGBB. Цветовые компоненты не умножаются на альфа-компонент. Данный формат не обязательно представляет собой родной или наиболее эффективный ColorModel для конкретного устройства или для всех изображений. Он просто используется как общий формат цветовой модели.
- Возвращает:
- объект
DirectColorModel, описывающий значения по умолчанию для RGB.
hasAlpha
public final boolean hasAlpha()
Возвращает, поддерживается ли альфа-канал в этом ColorModel.
- Возвращает:
-
true, если альфа-канал поддерживается в этомColorModel;falseв противном случае.
isAlphaPremultiplied
public final boolean isAlphaPremultiplied()
Возвращает, умножены ли альфа-значения на пиксельные значения, которые будут преобразованы этим ColorModel. Если значение логическое true, это ColorModel используется для интерпретации пиксельных значений, в которых цветовая и альфа-информация представлены как отдельные пространственные каналы, и предполагается, что цветовые образцы были умножены на альфа-образец.
- Возвращает:
-
true, если альфа-значения умножены на пиксельные значения, которые будут преобразованы этимColorModel;falseв противном случае.
getTransferType
public final int getTransferType()
Возвращает тип преобразования этого ColorModel. Тип преобразования — тип примитивного массива, используемого для представления пиксельных значений в виде массивов.
- Возвращает:
- тип преобразования.
- С:
- 1.3
getPixelSize
public int getPixelSize()
Возвращает количество бит на пиксель, описанное этим ColorModel.
- Возвращает:
- количество бит на пиксель.
getComponentSize
public int getComponentSize(int componentIdx)
Возвращает количество бит для указанного цветового/альфа-компонента. Цветовые компоненты индексируются в порядке, заданном ColorSpace. Обычно этот порядок отражает имя типа цветового пространства. Например, для TYPE_RGB индекс 0 соответствует красному, индекс 1 — зелёному, а индекс 2 — синему. Если это ColorModel поддерживает альфа-канал, альфа-компонент соответствует индексу, следующему за последним цветовым компонентом.
- Параметры:
-
componentIdx— индекс цветового/альфа-компонента - Возвращает:
- количество бит для цветового/альфа-компонента в указанном индексе.
- Исключение:
-
ArrayIndexOutOfBoundsException— еслиcomponentIdxбольше, чем количество компонентов, или меньше нуля -
NullPointerException— если массив битnull
getComponentSize
public int[] getComponentSize()
Возвращает массив количества бит на каждый цветовой/альфа-компонент. Массив содержит цветовые компоненты в порядке, заданном ColorSpace, а затем альфа-компонент, если он присутствует.
- Возвращает:
- массив количества бит на каждый цветовой/альфа-компонент
getTransparency
public int getTransparency()
Возвращает прозрачность. Возвращает OPAQUE, BITMASK или TRANSLUCENT.
- Задано в:
-
getTransparencyв интерфейсеTransparency - Возвращает:
- прозрачность этого
ColorModel. - См. также:
-
Transparency.OPAQUE,Transparency.BITMASK,Transparency.TRANSLUCENT
getNumComponents
public int getNumComponents()
Возвращает количество компонентов, включая альфа-компонент, в этом ColorModel. Это равно количеству цветовых компонентов, плюс один, если есть альфа-компонент.
- Возвращает:
- количество компонентов в этом
ColorModel
getNumColorComponents
public int getNumColorComponents()
Возвращает количество цветовых компонентов в этом ColorModel. Это количество компонентов, возвращаемое ColorSpace.getNumComponents().
- Возвращает:
- количество цветовых компонентов в этом
ColorModel. - См. также:
ColorSpace.getNumComponents()
getRed
public abstract int getRed(int pixel)
Возвращает красный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. Необходимое преобразование цвета выполняется при необходимости. Значение пикселя задаётся как целое число. Бросает IllegalArgumentException, если пиксельные значения для этого ColorModel не могут быть удобно представлены как одно целое число. Возвращаемое значение не является предварительно умноженным. Например, если альфа-канал предварительно умножен, этот метод делит его перед возвращением значения. Если значение альфа-канала равно 0, значение красного цвета равно 0.
- Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение красного компонента указанного пикселя.
getGreen
public abstract int getGreen(int pixel)
Возвращает зелёный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB. Необходимое преобразование цвета выполняется при необходимости. Значение пикселя задаётся как целое число. Бросает IllegalArgumentException, если пиксельные значения для этого ColorModel не могут быть удобно представлены как одно целое число. Возвращаемое значение не предварительно умножено. Например, если альфа-канал предварительно умножен, этот метод делит его перед возвращением значения. Если значение альфа-канала равно 0, значение зелёного цвета равно 0.
- Параметры:
-
pixel— указанный пиксель - Возвращает:
- значение зелёного компонента указанного пикселя.
getBlue
public abstract int getBlue(int pixel)
Возвращает синий цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, 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, 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- если этотtranferTypeне поддерживается данным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. Если массив components пустой, будет выделен новый массив. Будет возвращён массив components. Цветовые/альфа-компоненты хранятся в массиве components, начиная с offset (даже если массив выделяется этим методом). Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив components не пустой и недостаточно велик для хранения всех цветовых и альфа-компонентов (начиная с позиции 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 пуст, будет выделен новый массив. Будет возвращён массив components. Цветовые/альфа-компоненты хранятся в массиве components, начиная с позиции offset (даже если массив выделяется этим методом). Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив components не пустой и недостаточно велик для хранения всех цветовых и альфа-компонентов (начиная с позиции offset). Выбрасывается исключение IllegalArgumentException, если массив normComponents недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с позиции normOffset.
- Parameters:
-
normComponents- массив, содержащий нормализованные компоненты -
normOffset- смещение в массивеnormComponents, с которого начинать извлечение нормализованных компонентов -
components- массив, принимающий компоненты изnormComponents -
offset- индекс вcomponents, с которого начинать хранение нормализованных компонентов изnormComponents - Returns:
- массив, содержащий ненормализованные цветовые и альфа-компоненты.
- Throws:
-
IllegalArgumentException- Если значения компонентов для этогоColorModelне могут быть удобно представлены в ненормализованной форме. -
IllegalArgumentException- если длинаnormComponentsминусnormOffsetменьше чемnumComponents -
UnsupportedOperationException- если конструктор этогоColorModelвызвал конструкторsuper(bits), но не переопределил этот метод. См. конструкторColorModel(int).
getNormalizedComponents
public float[] getNormalizedComponents(int[] components,
int offset,
float[] normComponents,
int normOffset) Возвращает массив всех цветовых/альфа-компонентов в нормализованной форме, исходя из массива ненормализованных компонентов. Ненормализованные компоненты — это целые значения без знака от 0 до 2n - 1, где n — количество бит для конкретного компонента. Нормализованные компоненты — это значения с плавающей точкой от минимального до максимального значения, заданного объектом ColorSpace для этого ColorModel. Будет выброшено исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме. Если массив normComponents пуст, будет выделен новый массив. Будет возвращён массив normComponents. Цветовые/альфа-компоненты хранятся в массиве normComponents, начиная с позиции normOffset (даже если массив выделяется этим методом). Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив normComponents не пустой и недостаточно велик для хранения всех цветовых и альфа-компонентов (начиная с позиции normOffset). Выбрасывается исключение IllegalArgumentException, если массив components недостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с позиции offset.
Поскольку ColorModel — это абстрактный класс, любой экземпляр является экземпляром подкласса. По умолчанию реализация этого метода в этом абстрактном классе предполагает, что значения компонентов для этого класса могут быть удобно представлены в ненормализованной форме. Следовательно, подклассы, у которых могут быть экземпляры, которые не поддерживают ненормализованную форму, должны переопределить этот метод.
- Parameters:
-
components- массив, содержащий ненормализованные компоненты -
offset- смещение в массивеcomponents, с которого начинать извлечение ненормализованных компонентов -
normComponents- массив, принимающий нормализованные компоненты -
normOffset- индекс вnormComponents, с которого начинать хранение нормализованных компонентов - Returns:
- массив, содержащий нормализованные цветовые и альфа-компоненты.
- Throws:
-
IllegalArgumentException- Если значения компонентов для этогоColorModelне могут быть удобно представлены в ненормализованной форме. -
UnsupportedOperationException- если конструктор этогоColorModelвызвал конструкторsuper(bits), но не переопределил этот метод. См. конструкторColorModel(int). -
UnsupportedOperationException- если этот метод не может определить количество бит на компонент
getDataElement
public int getDataElement(int[] components,
int offset) Возвращает значение пикселя, представленное как int в этом ColorModel, исходя из массива ненормализованных цветовых/альфа-компонентов. Этот метод выбросит исключение IllegalArgumentException, если значения компонентов для этого ColorModel не могут быть удобно представлены как одно int, или если значения цветовых компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме. Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех цветовых и альфа-компонентов (начиная с позиции offset). Поскольку ColorModel — это абстрактный класс, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.
- Parameters:
-
components- массив ненормализованных цветовых и альфа-компонентов -
offset- индекс вcomponents, с которого начинать извлечение цветовых и альфа-компонентов - Returns:
- значение пикселя
intв этомColorModel, соответствующее указанным компонентам. - Throws:
-
IllegalArgumentException- если значения пикселей для этогоColorModelне могут быть удобно представлены как одноint -
IllegalArgumentException- если значения компонентов для этогоColorModelне могут быть удобно представлены в ненормализованной форме -
ArrayIndexOutOfBoundsException- если массивcomponentsнедостаточно велик для хранения всех цветовых и альфа-компонентов, начиная с позицииoffset -
UnsupportedOperationException- если этот метод не поддерживается даннымColorModel
getDataElements
public Object getDataElements(int[] components,
int offset,
Object obj) Возвращает массив данных, представляющий пиксель в этом ColorModel, исходя из массива ненормализованных цветовых/альфа-компонентов. Этот массив можно затем передать методу setDataElements объекта WritableRaster. Этот метод выбросит исключение IllegalArgumentException, если значения цветовых компонентов для этого ColorModel не могут быть удобно представлены в ненормализованной форме. Выбрасывается исключение ArrayIndexOutOfBoundsException, если массив components недостаточно велик для хранения всех цветовых и альфа-компонентов (начиная с позиции offset). Если переменная obj пуста, будет выделен новый массив. Если obj не является null, то он должен быть примитивным массивом типа 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)
getDataElement
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). Подклассы, экземпляры которых могут не поддерживать ненормализованную форму, должны переопределить этот метод.
- Параметры:
-
normComponents- массив нормализованных компонентов цвета и альфа-канала -
normOffset- индекс вnormComponents, с которого начинать извлечение компонентов цвета и альфа-канала -
obj- примитивный массив данных для хранения возвращаемого пикселя - Возвращает:
Object, который является примитивным массивом данных, представляющим пиксель- Исключения:
-
ClassCastException- еслиobjне является примитивным массивом типаtransferType -
ArrayIndexOutOfBoundsException- еслиobjнедостаточно велик для хранения значения пикселя для данногоColorModelили массивnormComponentsнедостаточно велик для хранения всех компонентов цвета и альфа-канала, начиная с индексаnormOffset - С:
- 1.4
- См. также:
-
WritableRaster.setDataElements(int, int, java.lang.Object),SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
getNormalizedComponents
public float[] getNormalizedComponents(Object pixel,
float[] normComponents,
int normOffset) Возвращает массив всех компонентов цвета/альфа-канала в нормализованной форме, задавая пиксель в этом ColorModel. Значение пикселя задается массивом элементов данных типа transferType, переданным как ссылка на объект. Если pixel не является примитивным массивом типа transferType, выбрасывается исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException выбрасывается, если pixel недостаточно велик для хранения значения пикселя для данного ColorModel. Нормализованные компоненты являются значениями типа float, находящимися между минимальным и максимальным значениями для каждого компонента, заданными объектом ColorSpace для данного ColorModel. Если массив normComponents равен null, будет выделен новый массив. Массив normComponents будет возвращён. Компоненты цвета/альфа-канала хранятся в массиве normComponents, начиная с индекса normOffset (даже если массив выделен этим методом). Исключение ArrayIndexOutOfBoundsException выбрасывается, если массив normComponents не равен null и недостаточно велик для хранения всех компонентов цвета и альфа-канала, начиная с индекса normOffset. Так как ColorModel является абстрактным классом, любой его экземпляр является экземпляром подкласса. По умолчанию этот метод в абстрактном классе сначала извлекает компоненты цвета и альфа-канала в ненормализованной форме с помощью getComponents(Object, int[], int), а затем вызывает getNormalizedComponents(int[], int, float[], int). Подклассы, экземпляры которых могут не поддерживать ненормализованную форму, должны переопределить этот метод.
- Параметры:
-
pixel- указанный пиксель -
normComponents- массив для получения нормализованных компонентов -
normOffset- смещение в массивеnormComponents, с которого начинать хранение нормализованных компонентов - Возвращает:
- массив, содержащий нормализованные компоненты цвета и альфа-канала.
- Исключения:
-
ClassCastException- еслиpixelне является примитивным массивом типа transferType -
ArrayIndexOutOfBoundsException- еслиnormComponentsнедостаточно велик для хранения всех компонентов цвета и альфа-канала, начиная с индексаnormOffset -
ArrayIndexOutOfBoundsException- еслиpixelнедостаточно велик для хранения значения пикселя для данногоColorModel. -
UnsupportedOperationException- если конструктор этогоColorModelвызвал конструкторsuper(bits), но не переопределил этот метод. См. конструкторColorModel(int). -
UnsupportedOperationException- если этот метод не может определить количество бит на компонент - С:
- 1.4
equals
public boolean equals(Object obj)
Этот метод просто делегирует выполнение стандартной реализации в Object, что идентично проверке на равенство ==, так как этот класс не может обеспечить корректную проверку на равенство для различных подклассов. Подклассы рекомендуются переопределить этот метод и предоставить проверку на равенство для собственных свойств, в дополнение к проверкам на равенство следующих общих базовых свойств ColorModel:
- Поддержка компонента альфа-канала.
- Альфа-компоненты преумножены.
- Количество бит на пиксель.
- Тип прозрачности (Непрозрачный, Маска или Полупрозрачный).
- Количество компонентов в пикселе.
-
ColorSpaceтип. - Тип массива, используемого для представления значений пикселей.
- Количество значащих бит на компонент цвета и альфа-канала.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект-ссылка для сравнения. - Возвращает:
-
true, если этот объект такой же, как аргумент obj;falseв противном случае. - См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Этот метод просто делегирует выполнение стандартной реализации в Object, которая возвращает системный идентификатор класса. Подклассы рекомендуются переопределить этот метод и предоставить хэш для собственных свойств, в дополнение к хэшированию значений следующих общих базовых свойств ColorModel:
- Поддержка компонента альфа-канала.
- Альфа-компоненты преумножены.
- Количество бит на пиксель.
- Тип прозрачности (Непрозрачный, Маска или Полупрозрачный).
- Количество компонентов в пикселе.
-
ColorSpaceтип. - Тип массива, используемого для представления значений пикселей.
- Количество значащих бит на компонент цвета и альфа-канала.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэша для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
getColorSpace
public final ColorSpace getColorSpace()
Возвращает ColorSpace, связанный с этим ColorModel.
- Возвращает:
ColorSpaceэтогоColorModel.
coerceData
public ColorModel coerceData(WritableRaster raster,
boolean isAlphaPremultiplied) Принудительно приводит данные растрового изображения к состоянию, указанному в переменной isAlphaPremultiplied, предполагая, что данные в настоящее время корректно описываются этой переменной ColorModel. Может умножить или разделить данные цветового растра на альфа-канал, или ничего не делать, если данные находятся в правильном состоянии. Если данные требуют приведения к нужному виду, этот метод также вернёт экземпляр этого класса ColorModel с соответствующим флагом isAlphaPremultiplied. Этот метод выбросит исключение UnsupportedOperationException, если он не поддерживается этим классом ColorModel. Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.
- Параметры:
-
raster- данныеWritableRaster -
isAlphaPremultiplied- значениеtrue, если альфа-канал предварительно умножен;falseв противном случае - Возвращает:
- объект
ColorModel, представляющий преобразованные данные.
isCompatibleRaster
public boolean isCompatibleRaster(Raster raster)
Возвращает true, если raster совместим с этим классом ColorModel и false, если нет. Поскольку ColorModel является абстрактным классом, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном классе выбрасывает исключение UnsupportedOperationException.
- Параметры:
-
raster- объектRasterдля проверки совместимости - Возвращает:
-
true, еслиrasterсовместим с этим классомColorModel. - Исключения:
-
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
finalize
@Deprecated(since="9") public void finalize()
finalize устарел. Подклассы, переопределяющие finalize для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки и удаления переопределённого метода finalize. При переопределении метода finalize его реализация должна явно гарантировать вызов super.finalize(), как описано в Object.finalize(). Смотрите спецификацию для Object.finalize() для получения дополнительной информации о вариантах миграции.Освобождает системные ресурсы, связанные с этим классом ColorModel, когда на этот класс ColorModel больше нет ссылок.
- Переопределяет:
-
finalizeв классеObject - См. также:
-
WeakReference,PhantomReference
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.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/image/ColorModel.html