Класс ColorSpace
- Все реализуемые интерфейсы:
Serializable
- Прямые известные подклассы:
ICC_ColorSpace
public abstract class ColorSpace extends Object implements Serializable
Color или, посредством объекта ColorModel, Image, BufferedImage или GraphicsDevice. Он содержит методы преобразования цветов из конкретного цветового пространства и в него, а также из/в sRGB и четко определенное цветовое пространство CIEXYZ. Для целей методов этого класса цвета представлены массивами цветовых компонентов типа float в нормализованном диапазоне, определенном для каждого ColorSpace. Для многих ColorSpaces (например, sRGB) этот диапазон составляет от 0.0 до 1.0. Однако в некоторых ColorSpaces компоненты имеют значения из другого диапазона. Предусмотрены методы для получения минимальных и максимальных нормализованных значений каждого компонента.
Для обозначения типов цветовых пространств (например, TYPE_RGB, TYPE_XYZ и т. д.) и конкретных цветовых пространств (например, CS_sRGB и CS_CIEXYZ) определен ряд переменных. sRGB — это предложенное стандартное цветовое пространство RGB. Дополнительные сведения см. на странице http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html.
Методы преобразования в четко определенное цветовое пространство CIEXYZ и из него предназначены для поддержки преобразований между любыми двумя цветовыми пространствами с достаточно высокой точностью. Предполагается, что конкретные реализации подклассов ColorSpace (например, ICC_ColorSpace) будут поддерживать высокопроизводительное преобразование на основе базовых систем управления цветом платформы.
Пространство CS_CIEXYZ, используемое методами toCIEXYZ/fromCIEXYZ, можно описать следующим образом:
CIEXYZ viewing illuminance: 200 lux viewing white point: CIE D50 media white point: "that of a perfectly reflecting diffuser" -- D50 media black point: 0 lux or 0 Reflectance flare: 1 percent surround: 20percent of the media white point media description: reflection print (i.e., RLAB, Hunt viewing media) note: For developers creating an ICC profile for this conversion space, the following is applicable. Use a simple Von Kries white point adaptation folded into the 3X3 matrix parameters and fold the flare and surround effects into the three one-dimensional lookup tables (assuming one uses the minimal model for monitors).
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
CS_CIEXYZ |
Встроенное цветовое пространство преобразования CIEXYZ, определенное выше. |
static final int |
CS_GRAY |
Встроенное цветовое пространство с линейной шкалой серого. |
static final int |
CS_LINEAR_RGB |
Встроенное цветовое пространство с линейной RGB-шкалой. |
static final int |
CS_PYCC |
Встроенное цветовое пространство преобразования Photo YCC. |
static final int |
CS_sRGB |
Встроенное цветовое пространство sRGB, определенное на странице http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html. |
static final int |
TYPE_2CLR |
Общие цветовые пространства с 2 компонентами. |
static final int |
TYPE_3CLR |
Общие цветовые пространства с 3 компонентами. |
static final int |
TYPE_4CLR |
Общие цветовые пространства с 4 компонентами. |
static final int |
TYPE_5CLR |
Общие цветовые пространства с 5 компонентами. |
static final int |
TYPE_6CLR |
Общие цветовые пространства с 6 компонентами. |
static final int |
TYPE_7CLR |
Общие цветовые пространства с 7 компонентами. |
static final int |
TYPE_8CLR |
Общие цветовые пространства с 8 компонентами. |
static final int |
TYPE_9CLR |
Общие цветовые пространства с 9 компонентами. |
static final int |
TYPE_ACLR |
Общие цветовые пространства с 10 компонентами. |
static final int |
TYPE_BCLR |
Общие цветовые пространства с 11 компонентами. |
static final int |
TYPE_CCLR |
Общие цветовые пространства с 12 компонентами. |
static final int |
TYPE_CMY |
Любое цветовое пространство семейства CMY. |
static final int |
TYPE_CMYK |
Любое цветовое пространство семейства CMYK. |
static final int |
TYPE_DCLR |
Общие цветовые пространства с 13 компонентами. |
static final int |
TYPE_ECLR |
Общие цветовые пространства с 14 компонентами. |
static final int |
TYPE_FCLR |
Общие цветовые пространства с 15 компонентами. |
static final int |
TYPE_GRAY |
Любое цветовое пространство семейства GRAY. |
static final int |
TYPE_HLS |
Любое цветовое пространство семейства HLS. |
static final int |
TYPE_HSV |
Любое цветовое пространство семейства HSV. |
static final int |
TYPE_Lab |
Любое цветовое пространство семейства Lab. |
static final int |
TYPE_Luv |
Любое цветовое пространство семейства Luv. |
static final int |
TYPE_RGB |
Любое цветовое пространство семейства RGB. |
static final int |
TYPE_XYZ |
Любое цветовое пространство семейства XYZ. |
static final int |
TYPE_YCbCr |
Любое цветовое пространство семейства YCbCr. |
static final int |
TYPE_Yxy |
Любое цветовое пространство семейства Yxy. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает объект ColorSpace, принимая тип цветового пространства и количество компонентов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract float[] |
fromCIEXYZ |
Преобразует цветовое значение, которое считается заданным в цветовом пространстве преобразования CS_CIEXYZ, в это ColorSpace. |
abstract float[] |
fromRGB |
Преобразует цветовое значение, которое считается заданным в цветовом пространстве по умолчанию CS_sRGB, в это ColorSpace. |
static ColorSpace |
getInstance |
Возвращает ColorSpace, представляющий одно из определенных заранее цветовых пространств. |
float |
getMaxValue |
Возвращает максимальное нормализованное значение цветового компонента для указанного компонента. |
float |
getMinValue |
Возвращает минимальное нормализованное значение цветового компонента для указанного компонента. |
String |
getName |
Возвращает имя компонента по его индексу. |
int |
getNumComponents() |
Возвращает количество компонентов этого ColorSpace. |
int |
getType() |
Возвращает тип цветового пространства этого ColorSpace (например, TYPE_RGB, TYPE_XYZ, ...). |
boolean |
isCS_sRGB() |
Возвращает true, если ColorSpace является CS_sRGB. |
abstract float[] |
toCIEXYZ |
Преобразует цветовое значение, которое считается заданным в этом ColorSpace, в цветовое пространство преобразования CS_CIEXYZ. |
abstract float[] |
toRGB |
Преобразует цветовое значение, которое считается заданным в этом ColorSpace, в значение в цветовом пространстве по умолчанию CS_sRGB. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо истечения заданного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо истечения заданного времени. |
Подробное описание полей
TYPE_XYZ
@Native public static final int TYPE_XYZ
- См. также:
TYPE_Lab
@Native public static final int TYPE_Lab
- См. также:
TYPE_Luv
@Native public static final int TYPE_Luv
- См. также:
TYPE_YCbCr
@Native public static final int TYPE_YCbCr
- См. также:
TYPE_Yxy
@Native public static final int TYPE_Yxy
- См. также:
TYPE_RGB
@Native public static final int TYPE_RGB
- См. также:
TYPE_GRAY
@Native public static final int TYPE_GRAY
- См. также:
TYPE_HSV
@Native public static final int TYPE_HSV
- См. также:
TYPE_HLS
@Native public static final int TYPE_HLS
- См. также:
TYPE_CMYK
@Native public static final int TYPE_CMYK
- См. также:
TYPE_CMY
@Native public static final int TYPE_CMY
- См. также:
TYPE_2CLR
@Native public static final int TYPE_2CLR
- См. также:
TYPE_3CLR
@Native public static final int TYPE_3CLR
- См. также:
TYPE_4CLR
@Native public static final int TYPE_4CLR
- См. также:
TYPE_5CLR
@Native public static final int TYPE_5CLR
- См. также:
TYPE_6CLR
@Native public static final int TYPE_6CLR
- См. также:
TYPE_7CLR
@Native public static final int TYPE_7CLR
- См. также:
TYPE_8CLR
@Native public static final int TYPE_8CLR
- См. также:
TYPE_9CLR
@Native public static final int TYPE_9CLR
- См. также:
TYPE_ACLR
@Native public static final int TYPE_ACLR
- См. также:
TYPE_BCLR
@Native public static final int TYPE_BCLR
- См. также:
TYPE_CCLR
@Native public static final int TYPE_CCLR
- См. также:
TYPE_DCLR
@Native public static final int TYPE_DCLR
- См. также:
TYPE_ECLR
@Native public static final int TYPE_ECLR
- См. также:
TYPE_FCLR
@Native public static final int TYPE_FCLR
- См. также:
CS_sRGB
@Native public static final int CS_sRGB
- См. также:
CS_LINEAR_RGB
@Native public static final int CS_LINEAR_RGB
CS_sRGB, но имеет линейную тонопередаточную характеристику.- См. также:
CS_CIEXYZ
@Native public static final int CS_CIEXYZ
- См. также:
CS_PYCC
@Native public static final int CS_PYCC
- См. также:
CS_GRAY
@Native public static final int CS_GRAY
- См. также:
Подробное описание конструкторов
ColorSpace
protected ColorSpace(int type, int numComponents)
ColorSpace, принимая тип цветового пространства и количество компонентов.- Параметры:
-
type— одна из констант типаColorSpace -
numComponents— количество компонентов в цветовом пространстве
Подробное описание методов
getInstance
public static ColorSpace getInstance(int cspace)
ColorSpace, представляющий одно из определённых заранее цветовых пространств.- Параметры:
-
cspace— конкретное цветовое пространство, определяемое одной из предопределённых констант класса (например,CS_sRGB,CS_LINEAR_RGB,CS_CIEXYZ,CS_GRAYилиCS_PYCC) - Возвращает:
- запрошенный объект
ColorSpace - Исключения:
-
IllegalArgumentException— еслиcspaceне является одним из предопределённых типов цветового пространства
isCS_sRGB
public boolean isCS_sRGB()
ColorSpace является CS_sRGB.- Возвращает:
-
true, если это цветовое пространствоCS_sRGB, иfalse, если это не так
toRGB
public abstract float[] toRGB(float[] colorvalue)
ColorSpace, в значение в цветовом пространстве CS_sRGB по умолчанию. Этот метод преобразует значения цветов с помощью алгоритмов, предназначенных для получения наилучшего перцептивного соответствия между входными и выходными цветами. Для колориметрического преобразования значений цветов следует сначала использовать метод toCIEXYZ этого цветового пространства, чтобы преобразовать входное цветовое пространство в цветовое пространство CS_CIEXYZ, а затем использовать метод fromCIEXYZ цветового пространства CS_sRGB для преобразования из CS_CIEXYZ в выходное цветовое пространство. Дополнительные сведения см. в разделах toCIEXYZ и fromCIEXYZ.
- Параметры:
-
colorvalue— массив float длиной не менее количества компонентов в этомColorSpace - Возвращает:
- массив float длиной 3
- Исключения:
-
ArrayIndexOutOfBoundsException— если длина массива меньше количества компонентов в этомColorSpace -
NullPointerException— еслиcolorvalueимеет значениеnull
fromRGB
public abstract float[] fromRGB(float[] rgbvalue)
CS_sRGB по умолчанию, в это ColorSpace. Этот метод преобразует значения цветов с помощью алгоритмов, предназначенных для получения наилучшего перцептивного соответствия между входными и выходными цветами. Для колориметрического преобразования значений цветов следует сначала использовать метод toCIEXYZ цветового пространства CS_sRGB, чтобы преобразовать входное цветовое пространство в цветовое пространство CS_CIEXYZ, а затем использовать метод fromCIEXYZ этого цветового пространства для преобразования из CS_CIEXYZ в выходное цветовое пространство. Дополнительные сведения см. в разделах toCIEXYZ и fromCIEXYZ.
- Параметры:
-
rgbvalue— массив float длиной не менее 3 - Возвращает:
- массив float длиной, равной количеству компонентов в этом
ColorSpace - Исключения:
-
ArrayIndexOutOfBoundsException— если длина массива меньше 3 -
NullPointerException— еслиrgbvalueимеет значениеnull
toCIEXYZ
public abstract float[] toCIEXYZ(float[] colorvalue)
ColorSpace, в преобразовательное цветовое пространство CS_CIEXYZ. Этот метод преобразует значения цветов с использованием относительной колориметрии, определённой стандартом Международного консорциума по цвету. Это означает, что значения XYZ, возвращаемые этим методом, представлены относительно белой точки D50 цветового пространства CS_CIEXYZ. Такое представление полезно в двухэтапном процессе преобразования цвета, при котором цвета преобразуются из входного цветового пространства в CS_CIEXYZ, а затем в выходное цветовое пространство. Это представление не совпадает со значениями XYZ, которые колориметр измерил бы для заданного значения цвета. Для вычисления значений XYZ, измеренных в соответствии с текущими рекомендациями CIE, необходимо дополнительное преобразование. Дополнительные сведения см. в описании метода toCIEXYZ класса ICC_ColorSpace.
- Параметры:
-
colorvalue— массив float длиной не менее количества компонентов в этомColorSpace - Возвращает:
- массив float длиной 3
- Исключения:
-
ArrayIndexOutOfBoundsException— если длина массива меньше количества компонентов в этомColorSpace -
NullPointerException— еслиcolorvalueимеет значениеnull
fromCIEXYZ
public abstract float[] fromCIEXYZ(float[] colorvalue)
CS_CIEXYZ, в это ColorSpace. Этот метод преобразует значения цветов с использованием относительной колориметрии, определённой стандартом Международного консорциума по цвету. Это означает, что значения аргумента XYZ, принимаемые этим методом, представлены относительно белой точки D50 цветового пространства CS_CIEXYZ. Такое представление полезно в двухэтапном процессе преобразования цвета, при котором цвета преобразуются из входного цветового пространства в CS_CIEXYZ, а затем в выходное цветовое пространство. Возвращаемые этим методом значения цвета не соответствуют тем значениям, которые при измерении колориметром дали бы переданное методу значение XYZ. Если у вас есть значения XYZ, соответствующие измерениям, выполненным согласно текущим рекомендациям CIE, перед передачей этому методу их необходимо преобразовать в относительные значения D50. Дополнительные сведения см. в описании метода fromCIEXYZ класса ICC_ColorSpace.
- Параметры:
-
colorvalue— массив float длиной не менее 3 - Возвращает:
- массив float длиной, равной количеству компонентов в этом
ColorSpace - Исключения:
-
ArrayIndexOutOfBoundsException— если длина массива меньше 3 -
NullPointerException— еслиcolorvalueимеет значениеnull
getType
public int getType()
ColorSpace (например, TYPE_RGB, TYPE_XYZ и т. д.). Тип определяет количество компонентов цветового пространства и их интерпретацию; например, TYPE_RGB обозначает цветовое пространство с тремя компонентами — красным, зелёным и синим. Тип не определяет конкретные цветовые характеристики пространства, например цветность основных цветов.- Возвращает:
- константу типа, представляющую тип этого
ColorSpace
getNumComponents
public int getNumComponents()
- Возвращает:
- количество компонентов в этом
ColorSpace
getName
public String getName(int component)
- Параметры:
-
component— индекс компонента - Возвращает:
- название компонента с указанным индексом
- Исключения:
-
IllegalArgumentException— еслиcomponentменьше 0 или большеnumComponents - 1
getMinValue
public float getMinValue(int component)
- Параметры:
-
component— индекс компонента - Возвращает:
- минимальное нормализованное значение компонента
- Исключения:
-
IllegalArgumentException— если индекс компонента меньше 0 или большеnumComponents - 1 - С версии:
- 1.4
getMaxValue
public float getMaxValue(int component)
- Параметры:
-
component— индекс компонента - Возвращает:
- максимальное нормализованное значение компонента
- Исключения:
-
IllegalArgumentException— если индекс компонента меньше 0 или большеnumComponents - 1 - С версии:
- 1.4
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.