Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class ColorModel extends Object implements Transparency
ColorModel
абстрактный class инкапсулирует методы для того, чтобы преобразовать пиксельное значение в компоненты цвета (например, красный, зеленый, и синий) и альфа-компонент. Чтобы представить изображение на экран, принтер, или другое изображение, пиксельные значения должны быть преобразованы в альфа-компоненты и цвет. Как параметры или возвращаемые значения от методов этого class, пиксели представляются как 32-разрядный ints или как массивы типов примитивов. Число, порядок, и интерпретация компонентов цвета для a ColorModel
определяется ColorSpace
. A ColorModel
используемый с пиксельными данными, который не включает информацию об альфе, обрабатывает все пиксели как непрозрачные, который является альфа-значением 1.0. Это ColorModel
class поддерживает два представления пиксельных значений. Пиксельное значение может быть единственным 32-разрядным интервалом или массивом типов примитивов. Java (ТМ) Платформа 1.0 и 1.1 API представленные пиксели как единственный byte
или единственный int
значения. В целях ColorModel
class, параметры пиксельного значения передали как ints. Java (ТМ) 2 API Платформы представленные дополнительные классы для того, чтобы представить изображения. С BufferedImage
или RenderedImage
объекты, основанные на Raster
и SampleModel
классы, пиксельные значения не могли бы быть удобно представимыми как единственный интервал. Следовательно, ColorModel
теперь имеет методы, которые принимают пиксельные значения, представленные как массивы типов примитивов. Тип примитива используется деталью ColorModel
объект вызывают его типом передачи.
ColorModel
объекты, используемые с изображениями, для которых пиксельные значения не являются удобно представимыми как единственный интервал, бросают IllegalArgumentException
когда методы, берущие единственный международный пиксельный параметр, вызывают. Подклассы ColorModel
должен определить условия, при которых это происходит. Это не происходит с DirectColorModel
или IndexColorModel
объекты.
В настоящий момент типами передачи, поддерживаемыми Java, 2-D (ТМ) API, является DataBuffer. TYPE_BYTE, DataBuffer. TYPE_USHORT, DataBuffer. TYPE_INT, DataBuffer. TYPE_SHORT, DataBuffer. TYPE_FLOAT, и DataBuffer. TYPE_DOUBLE. Большинство операций рендеринга выполнит намного быстрее при использовании ColorModels и изображений, основанных на первых трех из этих типов. Кроме того, некоторые операции фильтрации изображения не поддерживаются для ColorModels и изображений, основанных на последних трех типах. Тип передачи для детали ColorModel
объект определяется, когда объект создается, или явно или по умолчанию. Все подклассы ColorModel
должен определить то, что возможные типы передачи и как число элементов в примитивных массивах, представляющих пиксели, определяется.
Для BufferedImages
, тип передачи Raster
и Raster
объект SampleModel
(доступный от getTransferType
методы этих классов), должен соответствовать тот из ColorModel
. Число элементов в массиве, представляющем пиксель для Raster
и SampleModel
(доступный от getNumDataElements
методы этих классов), должен соответствовать тот из ColorModel
.
Алгоритм, используемый, чтобы преобразовать из пиксельных значений, чтобы покрасить и альфа-компоненты, изменяется подклассом. Например, есть не обязательно взаимно-однозначное соответствие между выборками, полученными из SampleModel
из a BufferedImage
объект Raster
и компоненты цвета/альфы. Даже когда есть такая корреспонденция, число битов в выборке является не обязательно тем же самым как числом битов в соответствующем компоненте цвета/альфы. Каждый подкласс должен определить, как преобразование от пиксельных значений до компонентов цвета/альфы делается.
Методы в ColorModel
Использование class два различных представления цвета и альфа-компонентов - нормализованная форма и ненормализованная форма. В нормализованной форме каждый компонент является a float
значение между некоторыми минимальными и максимальными значениями. Для альфа-компонента минимум 0.0, и максимум 1.0. Для компонентов цвета минимальные и максимальные значения для каждого компонента могут быть получены из ColorSpace
объект. Эти значения часто будут 0.0 и 1.0 (например, нормализованные компонентные значения для значения по умолчанию sRGB диапазон цветового пространства от 0.0 до 1.0), но у некоторых цветовых пространств есть компонентные значения с различными верхними и более низкими пределами. Эти пределы могут быть получены, используя getMinValue
и getMaxValue
методы ColorSpace
class. Нормализованные значения компонента цвета не предварительно умножаются. Все 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
должен определить условия, при которых это происходит.
Модификатор и Тип | Поле и Описание |
---|---|
protected int |
pixel_bits
Общее количество битов в пикселе.
|
protected int |
transferType
Тип данных массива имел обыкновение представлять пиксельные значения.
|
BITMASK, OPAQUE, TRANSLUCENT
Модификатор | Конструктор и Описание |
---|---|
|
ColorModel(int bits)
Конструкции a
ColorModel это преобразовывает пиксели конкретного количества битов к компонентам цвета/альфы. |
protected |
ColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
Конструкции a
ColorModel это преобразовывает пиксельные значения в компоненты цвета/альфы. |
Модификатор и Тип | Метод и Описание |
---|---|
ColorModel |
coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
Вынуждает растровые данные соответствовать состояние, определенное в
isAlphaPremultiplied переменная, принимая данные в настоящий момент правильно описывается этим ColorModel . |
SampleModel |
createCompatibleSampleModel(int w, int h)
Создает a
SampleModel с указанным width и height, у которого есть формат данных, совместимый с этим ColorModel . |
WritableRaster |
createCompatibleWritableRaster(int w, int h)
Создает a
WritableRaster с указанным width и height, у которого есть формат данных (SampleModel ) совместимый с этим ColorModel . |
boolean |
equals(Object obj)
Тесты, если указанное
Object экземпляр ColorModel и если это равняется этому ColorModel . |
void |
finalize()
Избавляется от системных ресурсов, связанных с этим
ColorModel однажды это ColorModel больше не ссылается. |
abstract int |
getAlpha(int pixel)
Возвращает альфа-компонент для указанного пикселя, масштабируемого от 0 до 255.
|
int |
getAlpha(Object inData)
Возвращает альфа-компонент для указанного пикселя, масштабируемого от 0 до 255.
|
WritableRaster |
getAlphaRaster(WritableRaster raster)
Возвраты a
Raster представление альфа-канала изображения, извлеченного из ввода Raster , при условии, что пиксельные значения этого ColorModel представьте цвет и информацию об альфе как отдельные пространственные полосы (например. |
abstract int |
getBlue(int pixel)
Возвращает синий компонент цвета для указанного пикселя, масштабируемого от 0 до 255 в RGB значения по умолчанию ColorSpace, sRGB.
|
int |
getBlue(Object inData)
Возвращает синий компонент цвета для указанного пикселя, масштабируемого от 0 до 255 в RGB значения по умолчанию
ColorSpace , sRGB. |
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 , учитывая массив ненормализованных компонентов цвета/альфы. |
Объект |
getDataElements(float[] normComponents, int normOffset, Object obj)
Возвращает представление в виде массива элемента данных пикселя в этом
ColorModel , учитывая массив нормализованных компонентов цвета/альфы. |
Объект |
getDataElements(int[] components, int offset, Object obj)
Возвращает представление в виде массива элемента данных пикселя в этом
ColorModel , учитывая массив ненормализованных компонентов цвета/альфы. |
Объект |
getDataElements(int rgb, Object pixel)
Возвращает представление в виде массива элемента данных пикселя в этом
ColorModel , учитывая целочисленное пиксельное представление в цветовой модели RGB значения по умолчанию. |
abstract int |
getGreen(int pixel)
Возвращает зеленый компонент цвета для указанного пикселя, масштабируемого от 0 до 255 в RGB значения по умолчанию ColorSpace, 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 значения по умолчанию ColorSpace, sRGB.
|
int |
getRed(Object inData)
Возвращает красный компонент цвета для указанного пикселя, масштабируемого от 0 до 255 в RGB значения по умолчанию
ColorSpace , sRGB. |
int |
getRGB(int pixel)
Возвращает компоненты цвета/альфы пикселя в формате цветовой модели RGB значения по умолчанию.
|
int |
getRGB(Object inData)
Возвращает компоненты цвета/альфы для указанного пикселя в формате цветовой модели RGB значения по умолчанию.
|
static ColorModel |
getRGBdefault()
Возвраты a
DirectColorModel это описывает формат значения по умолчанию для целочисленных значений RGB, используемых во многих из методов в интерфейсах изображения AWT для удобства программиста. |
int |
getTransferType()
Возвращает тип передачи этого
ColorModel . |
int |
getTransparency()
Возвращает прозрачность.
|
int[] |
getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
Возвращает массив всех компонентов цвета/альфы в ненормализованной форме, учитывая нормализованный компонентный массив.
|
boolean |
hasAlpha()
Возвраты, поддерживается ли альфа в этом
ColorModel . |
int |
hashCode()
Возвращает хэш-код для этого ColorModel.
|
boolean |
isAlphaPremultiplied()
Возвраты, была ли альфа предварительно умножена в пиксельных значениях, которые будут преобразованы этим
ColorModel . |
boolean |
isCompatibleRaster(Raster raster)
Возвраты
true если raster является совместимым с этим ColorModel и false если это не. |
boolean |
isCompatibleSampleModel(SampleModel sm)
Проверки, если
SampleModel является совместимым с этим ColorModel . |
Строка |
toString()
Возвраты
String представление содержания этого ColorModel объект. |
protected int pixel_bits
protected int transferType
public ColorModel(int bits)
ColorModel
это преобразовывает пиксели конкретного количества битов к компонентам цвета/альфы. Цветовое пространство является RGB значения по умолчанию ColorSpace
, который является sRGB. Пиксельные значения, как предполагается, включают информацию об альфе. Если цвет и информация об альфе представляются в пиксельном значении как отдельные пространственные полосы, цветные полосы, как предполагается, не предварительно умножаются с альфа-значением. Тип прозрачности является java.awt. Прозрачность. ПОЛУПРОЗРАЧНЫЙ. Тип передачи будет самым маленьким из DataBuffer. TYPE_BYTE, DataBuffer. TYPE_USHORT, или DataBuffer. TYPE_INT, который может содержать единственный пиксель (или DataBuffer. TYPE_UNDEFINED, если биты больше чем 32). Так как у этого конструктора нет никакой информации о числе битов на цвет и альфа-компонент, любой подкласс, вызывая этого конструктора должен переопределить любой метод, который запрашивает эту информацию.bits
- число битов пикселяIllegalArgumentException
- если число битов в bits
меньше чем 1protected ColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
ColorModel
это преобразовывает пиксельные значения в компоненты цвета/альфы. Компоненты цвета будут в указанном ColorSpace
. pixel_bits
число битов в пиксельных значениях. Массив битов определяет число существенных битов на альфа-компонент и цвет. Его длина должна быть числом компонентов в ColorSpace
если нет никакой информации об альфе в пиксельных значениях, или еще одного чем это число, если есть информация об альфе. hasAlpha
указывает, присутствует ли информация об альфе. boolean
isAlphaPremultiplied
определяет, как интерпретировать пиксельные значения, в которых цвет и информация об альфе представляются как отдельные пространственные полосы. Если boolean
true
, цветные выборки, как предполагается, были умножены на альфа-выборку. transparency
определяет, какие альфа-значения могут быть представлены этой цветовой моделью. Тип передачи является типом примитивного массива, используемого, чтобы представить пиксельные значения. Отметьте, что массив битов содержит число существенных битов на компонент цвета/альфы после преобразования из пиксельных значений. Например, для IndexColorModel
с pixel_bits
равный 16, у массива битов могло бы быть четыре элемента с каждым набором элемента к 8.pixel_bits
- число битов в пиксельных значенияхbits
- массив, который определяет число существенных битов на альфа-компонент и цветcspace
- указанное ColorSpace
hasAlpha
- true
если информация об альфе присутствует; false
иначеisAlphaPremultiplied
- true
если цветные выборки, как предполагается, предварительно умножаются на альфа-выборки; false
иначеtransparency
- какие альфа-значения могут быть представлены этой цветовой модельюtransferType
- тип массива имел обыкновение представлять пиксельные значенияIllegalArgumentException
- если длина разрядного массива является меньше чем число цвета или альфа-компонентов в этом ColorModel
, или если прозрачность не является допустимым значением.IllegalArgumentException
- если сумма числа битов в bits
меньше чем 1 или если любой из элементов в bits
меньше чем 0.Transparency
public static ColorModel getRGBdefault()
DirectColorModel
это описывает формат значения по умолчанию для целочисленных значений RGB, используемых во многих из методов в интерфейсах изображения AWT для удобства программиста. Цветовое пространство является значением по умолчанию ColorSpace
, sRGB. Формат для значений RGB является целым числом с 8 битами каждая альфа, красные, зеленые, и синие компоненты цвета, упорядоченные соответственно от старшего значащего байта до младшего значащего байта, как в: 0xAARRGGBB. Компоненты цвета не предварительно умножаются на альфа-компонент. Этот формат не обязательно представляет собственное или самое эффективное ColorModel
для определенного устройства или для всех изображений. Это просто используется в качестве общего формата цветовой модели.DirectColorModel
объект, описывающий значения RGB значения по умолчанию.public final boolean hasAlpha()
ColorModel
.true
если альфа поддерживается в этом ColorModel
; false
иначе.public final boolean isAlphaPremultiplied()
ColorModel
. Если булево true
, это ColorModel
должен использоваться, чтобы интерпретировать пиксельные значения, в которых цвет и информация об альфе представляются как отдельные пространственные полосы, и красят выборки, как, предполагается, были умножены на альфа-выборку.true
если альфа-значения предварительно умножаются в пиксельных значениях, которые будут преобразованы этим ColorModel
; false
иначе.public final int getTransferType()
ColorModel
. Тип передачи является типом примитивного массива, используемого, чтобы представить пиксельные значения как массивы.public int getPixelSize()
ColorModel
.public int getComponentSize(int componentIdx)
ColorSpace
. Как правило, этот порядок отражает имя типа цветового пространства. Например, для TYPE_RGB, индексируйте 0, соответствует красный, индексируйте 1 к зеленому, и индексируйте 2 к синему. Если это ColorModel
поддерживает альфу, альфа-компонент соответствует индексированию после последнего компонента цвета.componentIdx
- индексирование компонента цвета/альфыArrayIndexOutOfBoundsException
- если componentIdx
больше чем число компонентов или меньше чем нульNullPointerException
- если число массива битов null
public int[] getComponentSize()
ColorSpace
, сопровождаемый альфа-компонентом, если существующий.public int getTransparency()
getTransparency
в интерфейсе Transparency
ColorModel
.Transparency.OPAQUE
, Transparency.BITMASK
, Transparency.TRANSLUCENT
public int getNumComponents()
ColorModel
. Это равно числу компонентов цвета, дополнительно плюс один, если есть альфа-компонент.ColorModel
public int getNumColorComponents()
ColorModel
. Это - число компонентов, возвращенных ColorSpace.getNumComponents()
.ColorModel
.ColorSpace.getNumComponents()
public abstract int getRed(int pixel)
IllegalArgumentException
бросается если пиксельные значения для этого ColorModel
не являются удобно представимыми как единственный интервал. Возвращенное значение не является предварительно умноженным значением. Например, если альфа предварительно умножается, этот метод отделяет ее прежде, чем возвратить значение. Если альфа-значение 0, красное значение 0.pixel
- указанный пиксельpublic abstract int getGreen(int pixel)
IllegalArgumentException
бросается если пиксельные значения для этого ColorModel
не являются удобно представимыми как единственный интервал. Возвращенное значение является не предварительно умноженным значением. Например, если альфа предварительно умножается, этот метод отделяет ее прежде, чем возвратить значение. Если альфа-значение 0, зеленое значение 0.pixel
- указанный пиксельpublic abstract int getBlue(int pixel)
IllegalArgumentException
бросается если пиксельные значения для этого ColorModel
не являются удобно представимыми как единственный интервал. Возвращенное значение является не предварительно умноженным значением, например, если альфа предварительно умножается, этот метод отделяет это прежде, чем возвратить значение. Если альфа-значение 0, синее значение 0.pixel
- указанный пиксельpublic abstract int getAlpha(int pixel)
IllegalArgumentException
бросается если пиксельные значения для этого ColorModel
не являются удобно представимыми как единственный интервал.pixel
- указанный пиксельpublic int getRGB(int pixel)
IllegalArgumentException
брошенный, если пиксельные значения для этого ColorModel
не являются удобно представимыми как единственный интервал. Возвращенное значение находится в не предварительно умноженном формате. Например, если альфа предварительно умножается, этот метод делит ее из компонентов цвета. Если альфа-значение 0, значения цвета 0.pixel
- указанный пиксельgetRGBdefault()
public int getRed(Object inData)
ColorSpace
, sRGB. Цветное преобразование делается в случае необходимости. Пиксельное значение определяется массивом элементов данных типа transferType, передал в как ссылка на объект. Возвращенное значение является не предварительно умноженным значением. Например, если альфа предварительно умножается, этот метод отделяет ее прежде, чем возвратить значение. Если альфа-значение 0, красное значение 0. Если inData
не примитивный массив типа transferType, a ClassCastException
бросается. ArrayIndexOutOfBoundsException
бросается если inData
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
. Если это transferType
не поддерживается, a UnsupportedOperationException
будет брошен. С тех пор ColorModel
абстрактный class, любой экземпляр должен быть экземпляром подкласса. Подклассы наследовали реализацию этого метода и если они не переопределяют это, этот метод выдает исключение, если подкласс использует a transferType
кроме DataBuffer.TYPE_BYTE
, DataBuffer.TYPE_USHORT
, или DataBuffer.TYPE_INT
.inData
- массив пиксельных значенийClassCastException
- если inData
не примитивный массив типа transferType
ArrayIndexOutOfBoundsException
- если inData
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
UnsupportedOperationException
- если это tranferType
не поддерживается этим ColorModel
public int getGreen(Object inData)
ColorSpace
, sRGB. Цветное преобразование делается в случае необходимости. Пиксельное значение определяется массивом элементов данных типа transferType, передал в как ссылка на объект. Возвращенное значение будет не предварительно умноженным значением. Например, если альфа предварительно умножается, этот метод отделяет ее прежде, чем возвратить значение. Если альфа-значение 0, зеленое значение 0. Если inData
не примитивный массив типа transferType, a ClassCastException
бросается. ArrayIndexOutOfBoundsException
бросается если inData
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
. Если это transferType
не поддерживается, a UnsupportedOperationException
будет брошен. С тех пор ColorModel
абстрактный class, любой экземпляр должен быть экземпляром подкласса. Подклассы наследовали реализацию этого метода и если они не переопределяют это, этот метод выдает исключение, если подкласс использует a transferType
кроме DataBuffer.TYPE_BYTE
, DataBuffer.TYPE_USHORT
, или DataBuffer.TYPE_INT
.inData
- массив пиксельных значенийClassCastException
- если inData
не примитивный массив типа transferType
ArrayIndexOutOfBoundsException
- если inData
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
UnsupportedOperationException
- если это tranferType
не поддерживается этим ColorModel
public int getBlue(Object inData)
ColorSpace
, sRGB. Цветное преобразование делается в случае необходимости. Пиксельное значение определяется массивом элементов данных типа transferType, передал в как ссылка на объект. Возвращенное значение является не предварительно умноженным значением. Например, если альфа предварительно умножается, этот метод отделяет ее прежде, чем возвратить значение. Если альфа-значение будет 0, то синее значение будет 0. Если inData
не примитивный массив типа transferType, a ClassCastException
бросается. ArrayIndexOutOfBoundsException
бросается если inData
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
. Если это transferType
не поддерживается, a UnsupportedOperationException
будет брошен. С тех пор ColorModel
абстрактный class, любой экземпляр должен быть экземпляром подкласса. Подклассы наследовали реализацию этого метода и если они не переопределяют это, этот метод выдает исключение, если подкласс использует a transferType
кроме DataBuffer.TYPE_BYTE
, DataBuffer.TYPE_USHORT
, или DataBuffer.TYPE_INT
.inData
- массив пиксельных значенийClassCastException
- если inData
не примитивный массив типа transferType
ArrayIndexOutOfBoundsException
- если inData
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
UnsupportedOperationException
- если это tranferType
не поддерживается этим ColorModel
public int getAlpha(Object inData)
ClassCastException
бросается. ArrayIndexOutOfBoundsException
бросается если inData
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
. Если это transferType
не поддерживается, a UnsupportedOperationException
будет брошен. С тех пор ColorModel
абстрактный class, любой экземпляр должен быть экземпляром подкласса. Подклассы наследовали реализацию этого метода и если они не переопределяют это, этот метод выдает исключение, если подкласс использует a transferType
кроме DataBuffer.TYPE_BYTE
, DataBuffer.TYPE_USHORT
, или DataBuffer.TYPE_INT
.inData
- указанный пиксельClassCastException
- если inData
не примитивный массив типа transferType
ArrayIndexOutOfBoundsException
- если inData
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
UnsupportedOperationException
- если это tranferType
не поддерживается этим ColorModel
public int getRGB(Object inData)
ClassCastException
бросается. ArrayIndexOutOfBoundsException
бросается если inData
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
. Возвращенное значение будет в не предварительно умноженном формате, то есть если альфа будет предварительно умножена, то этот метод разделит это из компонентов цвета (если альфа-значение будет 0, то значения цвета будут 0).inData
- указанный пиксельgetRGBdefault()
public Object getDataElements(int rgb, Object pixel)
ColorModel
, учитывая целочисленное пиксельное представление в цветовой модели RGB значения по умолчанию. Этот массив можно тогда передать к WritableRaster.setDataElements(int, int, java.lang.Object)
метод a WritableRaster
объект. Если пиксельная переменная null
, будет выделен новый массив. Если pixel
не null
, это должен быть примитивный массив типа transferType
; иначе, a ClassCastException
бросается. ArrayIndexOutOfBoundsException
бросается если pixel
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
. Пиксельная матрица возвращается. Если это transferType
не поддерживается, a UnsupportedOperationException
будет брошен. С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном class бросает 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)
public int[] getComponents(int pixel, int[] components, int offset)
ColorModel
. Пиксельное значение определяется как int
. IllegalArgumentException
будет брошен если пиксельные значения для этого ColorModel
не являются удобно представимыми как сингл int
или если компонент цвета оценивает за это ColorModel
не являются удобно представимыми в ненормализованной форме. Например, этот метод может использоваться, чтобы получить компоненты для определенного пиксельного значения в a DirectColorModel
. Если компонентный массив null
, будет выделен новый массив. Компонентный массив будет возвращен. Компоненты цвета/альфы сохранены в компонентном массиве, запускающемся в offset
(даже если массив выделяется этим методом). ArrayIndexOutOfBoundsException
бросается, если компонентный массив не null
и не является достаточно большим, чтобы содержать весь цвет и альфа-компоненты (запускающийся при смещении). С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном class бросает UnsupportedOperationException
.pixel
- указанный пиксельcomponents
- массив, чтобы получить цвет и альфа-компоненты указанного пикселяoffset
- смещение в components
массив, в котором можно начать хранить альфа-компоненты и цветUnsupportedOperationException
- если этот метод не поддерживается этим ColorModel
public int[] getComponents(Object pixel, int[] components, int offset)
ColorModel
. Пиксельное значение определяется массивом элементов данных типа transferType, передал в как ссылка на объект. Если pixel
не примитивный массив типа transferType, a ClassCastException
бросается. IllegalArgumentException
будет брошен, если компонент цвета оценит за это ColorModel
не являются удобно представимыми в ненормализованной форме. ArrayIndexOutOfBoundsException
бросается если pixel
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
. Этот метод может использоваться, чтобы получить компоненты для определенного пиксельного значения в любом ColorModel
. Если компонентный массив null
, будет выделен новый массив. Компонентный массив будет возвращен. Компоненты цвета/альфы сохранены в components
массив, запускающийся в offset
(даже если массив выделяется этим методом). ArrayIndexOutOfBoundsException
бросается, если компонентный массив не null
и не является достаточно большим, чтобы содержать весь цвет и альфа-компоненты (запускающийся в offset
). С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном class бросает UnsupportedOperationException
.pixel
- указанный пиксельcomponents
- массив, который получает цвет и альфа-компоненты указанного пикселяoffset
- индексирование в components
массив, в котором можно начать хранить цвет и альфа-компоненты указанного пикселяUnsupportedOperationException
- если этот метод не поддерживается этим ColorModel
public int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
ColorSpace
объект для этого ColorModel
. IllegalArgumentException
будет брошен, если компонент цвета оценит за это ColorModel
не являются удобно представимыми в ненормализованной форме. Если components
массив null
, будет выделен новый массив. components
массив будет возвращен. Компоненты цвета/альфы сохранены в components
массив, запускающийся в offset
(даже если массив выделяется этим методом). ArrayIndexOutOfBoundsException
бросается если components
массив не null
и не является достаточно большим, чтобы содержать весь цвет и альфа-компоненты (запускающийся в offset
). IllegalArgumentException
бросается если normComponents
массив не является достаточно многочисленным, чтобы содержать весь цвет и альфа-компоненты, запускающиеся в normOffset
.normComponents
- массив, содержащий нормализованные компонентыnormOffset
- смещение в normComponents
массив, в котором можно начать получать нормализованные компонентыcomponents
- массив, который получает компоненты из normComponents
offset
- индексирование в components
в котором можно начать хранить нормализованные компоненты от normComponents
IllegalArgumentException
- Если компонент оценивает за это ColorModel
не являются удобно представимыми в ненормализованной форме.IllegalArgumentException
- если длина normComponents
минус normOffset
меньше чем numComponents
UnsupportedOperationException
- если конструктор этого ColorModel
вызванный super(bits)
конструктор, но не переопределял этот метод. См. конструктора, ColorModel(int)
.public float[] getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
ColorSpace
объект для этого ColorModel
. IllegalArgumentException
будет брошен, если компонент цвета оценит за это ColorModel
не являются удобно представимыми в ненормализованной форме. Если normComponents
массив null
, будет выделен новый массив. normComponents
массив будет возвращен. Компоненты цвета/альфы сохранены в normComponents
массив, запускающийся в normOffset
(даже если массив выделяется этим методом). ArrayIndexOutOfBoundsException
бросается если normComponents
массив не null
и не является достаточно большим, чтобы содержать весь цвет и альфа-компоненты (запускающийся в normOffset
). IllegalArgumentException
бросается если components
массив не является достаточно многочисленным, чтобы содержать весь цвет и альфа-компоненты, запускающиеся в offset
. С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Реализация по умолчанию этого метода в этом абстрактном class предполагает, что компонентные значения для этого class являются удобно представимыми в ненормализованной форме. Поэтому, подклассы, у которых могут быть экземпляры, которые не поддерживают ненормализованную форму, должны переопределить этот метод.
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
абстрактный class, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном class бросает 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
метод a WritableRaster
объект. Этот метод бросит IllegalArgumentException
если компонент цвета оценивает за это ColorModel
не являются удобно представимыми в ненормализованной форме. ArrayIndexOutOfBoundsException
бросается если components
массив не является достаточно многочисленным, чтобы содержать весь цвет и альфа-компоненты (запускающийся в offset
). Если obj
переменная null
, будет выделен новый массив. Если obj
не null
, это должен быть примитивный массив типа transferType; иначе, a ClassCastException
бросается. ArrayIndexOutOfBoundsException
бросается если obj
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
. С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном class бросает 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
абстрактный class, любой экземпляр является экземпляром подкласса. Реализация по умолчанию этого метода в этом абстрактном class сначала преобразовывает от нормализованной формы до ненормализованной формы и затем вызывает getDataElement(int[], int)
. Подклассы, у которых могут быть экземпляры, которые не поддерживают ненормализованную форму, должны переопределить этот метод.normComponents
- массив нормализованного цвета и альфа-компонентовnormOffset
- индексирование в normComponents
в котором можно начать получать альфа-компоненты и цветint
пиксельное значение в этом ColorModel
соответствие указанным компонентам.IllegalArgumentException
- если пиксельные значения для этого ColorModel
не являются удобно представимыми как сингл int
ArrayIndexOutOfBoundsException
- если normComponents
массив не является достаточно многочисленным, чтобы содержать весь цвет и альфа-компоненты, запускающиеся в normOffset
public Object getDataElements(float[] normComponents, int normOffset, Object obj)
ColorModel
, учитывая массив нормализованных компонентов цвета/альфы. Этот массив можно тогда передать к setDataElements
метод a WritableRaster
объект. ArrayIndexOutOfBoundsException
бросается если normComponents
массив не является достаточно многочисленным, чтобы содержать весь цвет и альфа-компоненты (запускающийся в normOffset
). Если obj
переменная null
, будет выделен новый массив. Если obj
не null
, это должен быть примитивный массив типа transferType; иначе, a ClassCastException
бросается. ArrayIndexOutOfBoundsException
бросается если obj
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
. С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Реализация по умолчанию этого метода в этом абстрактном class сначала преобразовывает от нормализованной формы до ненормализованной формы и затем вызывает getDataElement(int[], int, Object)
. Подклассы, у которых могут быть экземпляры, которые не поддерживают ненормализованную форму, должны переопределить этот метод.normComponents
- массив нормализованного цвета и альфа-компонентовnormOffset
- индексирование в normComponents
в котором можно начать получать альфа-компоненты и цветobj
- примитивный массив данных, чтобы содержать возвращенный пиксельObject
который является примитивным представлением массива данных пикселяClassCastException
- если obj
не примитивный массив типа transferType
ArrayIndexOutOfBoundsException
- если obj
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
или normComponents
массив не является достаточно многочисленным, чтобы содержать весь цвет и альфа-компоненты, запускающиеся в normOffset
WritableRaster.setDataElements(int, int, java.lang.Object)
, SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
ColorModel
. Пиксельное значение определяется массивом элементов данных типа transferType, передал в как ссылка на объект. Если пиксель не является примитивным массивом типа transferType, a ClassCastException
бросается. ArrayIndexOutOfBoundsException
бросается если pixel
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
. Нормализованные компоненты являются значениями плавающими между на компонентный минимум и максимум, определенный ColorSpace
объект для этого ColorModel
. Если normComponents
массив null
, будет выделен новый массив. normComponents
массив будет возвращен. Компоненты цвета/альфы сохранены в normComponents
массив, запускающийся в normOffset
(даже если массив выделяется этим методом). ArrayIndexOutOfBoundsException
бросается если normComponents
массив не null
и не является достаточно большим, чтобы содержать весь цвет и альфа-компоненты (запускающийся в normOffset
). С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Реализация по умолчанию этого метода в этом абстрактном class сначала получает цвет и альфа-компоненты в ненормализованном использовании формы getComponents(Object, int[], int)
и затем вызовы getNormalizedComponents(int[], int, float[], int)
. Подклассы, у которых могут быть экземпляры, которые не поддерживают ненормализованную форму, должны переопределить этот метод.pixel
- указанный пиксельnormComponents
- массив, чтобы получить нормализованные компонентыnormOffset
- смещение в normComponents
массив, в котором можно начать хранить нормализованные компонентыClassCastException
- если pixel
не примитивный массив типа transferTypeArrayIndexOutOfBoundsException
- если normComponents
не является достаточно большим, чтобы содержать весь цвет и альфа-компоненты, запускающиеся в normOffset
ArrayIndexOutOfBoundsException
- если pixel
не является достаточно большим, чтобы содержать пиксельное значение для этого ColorModel
.UnsupportedOperationException
- если конструктор этого ColorModel
вызванный super(bits)
конструктор, но не переопределял этот метод. См. конструктора, ColorModel(int)
.UnsupportedOperationException
- если этот метод неспособен определить число битов на компонентpublic boolean equals(Object obj)
Object
экземпляр ColorModel
и если это равняется этому ColorModel
.equals
в class Object
obj
- Object
протестировать на равенствоtrue
если указанное Object
экземпляр ColorModel
и равняется этому ColorModel
; false
иначе.Object.hashCode()
, HashMap
public int hashCode()
hashCode
в class Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public final ColorSpace getColorSpace()
ColorSpace
связанный с этим ColorModel
.ColorSpace
из этого ColorModel
.public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
isAlphaPremultiplied
переменная, принимая данные в настоящий момент правильно описывается этим ColorModel
. Это может умножить или разделить цветные растровые данные на альфу, или ничего не сделать, если данные находятся в корректном состоянии. Если данные должны быть принуждены, этот метод также возвратит экземпляр этого ColorModel
с isAlphaPremultiplied
набор флага соответственно. Этот метод бросит a UnsupportedOperationException
если это не поддерживается этим ColorModel
. С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном class бросает UnsupportedOperationException
.raster
- WritableRaster
данныеisAlphaPremultiplied
- true
если альфа предварительно умножается; false
иначеColorModel
объект, который представляет принужденные данные.public boolean isCompatibleRaster(Raster raster)
true
если raster
является совместимым с этим ColorModel
и false
если это не. С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном class бросает UnsupportedOperationException
.raster
- Raster
возразите, чтобы протестировать на совместимостьtrue
если raster
является совместимым с этим ColorModel
.UnsupportedOperationException
- если этот метод не был реализован для этого ColorModel
public WritableRaster createCompatibleWritableRaster(int w, int h)
WritableRaster
с указанным width и height, у которого есть формат данных (SampleModel
) совместимый с этим ColorModel
. С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном class бросает UnsupportedOperationException
.w
- width, чтобы примениться к новому WritableRaster
h
- height, чтобы примениться к новому WritableRaster
WritableRaster
объект с указанным width и height.UnsupportedOperationException
- если этот метод не поддерживается этим ColorModel
WritableRaster
, SampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
SampleModel
с указанным width и height, у которого есть формат данных, совместимый с этим ColorModel
. С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном class бросает UnsupportedOperationException
.w
- width, чтобы примениться к новому SampleModel
h
- height, чтобы примениться к новому SampleModel
SampleModel
объект с указанным width и height.UnsupportedOperationException
- если этот метод не поддерживается этим ColorModel
SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel
является совместимым с этим ColorModel
. С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, так как реализация в этом абстрактном class бросает UnsupportedOperationException
.sm
- указанное SampleModel
true
если указанное SampleModel
является совместимым с этим ColorModel
; false
иначе.UnsupportedOperationException
- если этот метод не поддерживается этим ColorModel
SampleModel
public void finalize()
ColorModel
однажды это ColorModel
больше не ссылается.finalize
в class Object
WeakReference
, PhantomReference
public WritableRaster getAlphaRaster(WritableRaster raster)
Raster
представление альфа-канала изображения, извлеченного из ввода Raster
, при условии, что пиксельные значения этого ColorModel
представьте цвет и информацию об альфе как отдельные пространственные полосы (например. ComponentColorModel
и DirectColorModel
). Этот метод принимает это Raster
объекты, связанные с таким ColorModel
сохраните альфа-полосу, если есть как последняя полоса данных изображения. Возвраты null
если нет никакого отдельного пространственного альфа-канала, связанного с этим ColorModel
. Если это IndexColorModel
у которого есть альфа в таблице поиска, этот метод возвратится null
с тех пор нет никакого пространственно дискретного альфа-канала. Этот метод создаст новое Raster
(но совместно использует массив данных). С тех пор ColorModel
абстрактный class, любой экземпляр является экземпляром подкласса. Подклассы должны переопределить этот метод, чтобы получить любое поведение кроме возврата null
потому что реализация в этом абстрактном class возвраты null
.raster
- указанное Raster
Raster
представление альфа-канала изображения, полученного из указанного Raster
.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92