Класс ColorSpace
- Все реализованные интерфейсы:
Serializable
- Прямые известные подклассы:
ICC_ColorSpace
public abstract class ColorSpace extends Object implements Serializable
Color или, с помощью объекта ColorModel, объекта Image, объекта BufferedImage или объекта GraphicsDevice. Он содержит методы, которые преобразуют цвета в определённом цветовом пространстве в/из sRGB и в/из хорошо определённого цветового пространства CIEXYZ. В целях методов этого класса цвета представлены в виде массивов цветовых компонентов, представленных как числа с плавающей точкой в нормализованном диапазоне, определённом каждым 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. |
Подроное описание полей
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)
- Parameters:
-
component- индекс компонента - Returns:
- минимальное значение нормализованного компонента
- Throws:
-
IllegalArgumentException- если компонент меньше 0 или большеnumComponents - 1 - Since:
- 1.4
getMaxValue
public float getMaxValue(int component)
- Parameters:
-
component- индекс компонента - Returns:
- максимальное значение нормализованного компонента
- Throws:
-
IllegalArgumentException- если компонент меньше 0 или большеnumComponents - 1 - Since:
- 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/color/ColorSpace.html