Класс 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 по умолчанию. |
Подробное описание полей
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/color/ColorSpace.html