Spec-Zone.ru › OpenJDK 25

Класс ColorSpace

java.lang.Object
java.awt.color.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).

См. также:
  • ICC_ColorSpace
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
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.

Краткое описание конструкторов

ColorSpace(int type, int numComponents)
Модификатор Конструктор Описание
protected
Создаёт объект ColorSpace, используя тип цветового пространства и число компонентов.

Краткое описание методов

Модификатор и тип Метод Описание
abstract float[] fromCIEXYZ(float[] colorvalue)
Преобразует значение цвета, которое считается заданным в цветовом пространстве преобразования CS_CIEXYZ, в это ColorSpace.
abstract float[] fromRGB(float[] rgbvalue)
Преобразует значение цвета, которое считается заданным в цветовом пространстве CS_sRGB по умолчанию, в это ColorSpace.
static ColorSpace getInstance(int cspace)
Возвращает ColorSpace, представляющий одно из определённых заранее конкретных цветовых пространств.
float getMaxValue(int component)
Возвращает максимальное нормализованное значение цветового компонента для указанного компонента.
float getMinValue(int component)
Возвращает минимальное нормализованное значение цветового компонента для указанного компонента.
String getName(int component)
Возвращает имя компонента по его индексу.
int getNumComponents()
Возвращает число компонентов этого ColorSpace.
int getType()
Возвращает тип цветового пространства этого ColorSpace (например, TYPE_RGB, TYPE_XYZ и т. д.).
boolean isCS_sRGB()
Возвращает true, если ColorSpace является CS_sRGB.
abstract float[] toCIEXYZ(float[] colorvalue)
Преобразует значение цвета, которое считается заданным в этом ColorSpace, в цветовое пространство преобразования CS_CIEXYZ.
abstract float[] toRGB(float[] colorvalue)
Преобразует значение цвета, которое считается заданным в этом ColorSpace, в значение цветового пространства CS_sRGB по умолчанию.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

TYPE_XYZ

@Native public static final int TYPE_XYZ
Любое из семейства цветовых пространств XYZ.
См. также:
  • Значения константных полей

TYPE_Lab

@Native public static final int TYPE_Lab
Любое из семейства цветовых пространств Lab.
См. также:
  • Значения константных полей

TYPE_Luv

@Native public static final int TYPE_Luv
Любое из семейства цветовых пространств Luv.
См. также:
  • Значения константных полей

TYPE_YCbCr

@Native public static final int TYPE_YCbCr
Любое из семейства цветовых пространств YCbCr.
См. также:
  • Значения константных полей

TYPE_Yxy

@Native public static final int TYPE_Yxy
Любое из семейства цветовых пространств Yxy.
См. также:
  • Значения константных полей

TYPE_RGB

@Native public static final int TYPE_RGB
Любое из семейства цветовых пространств RGB.
См. также:
  • Значения константных полей

TYPE_GRAY

@Native public static final int TYPE_GRAY
Любое из семейства цветовых пространств GRAY.
См. также:
  • Значения константных полей

TYPE_HSV

@Native public static final int TYPE_HSV
Любое из семейства цветовых пространств HSV.
См. также:
  • Значения константных полей

TYPE_HLS

@Native public static final int TYPE_HLS
Любое из семейства цветовых пространств HLS.
См. также:
  • Значения константных полей

TYPE_CMYK

@Native public static final int TYPE_CMYK
Любое из семейства цветовых пространств CMYK.
См. также:
  • Значения константных полей

TYPE_CMY

@Native public static final int TYPE_CMY
Любое из семейства цветовых пространств CMY.
См. также:
  • Значения константных полей

TYPE_2CLR

@Native public static final int TYPE_2CLR
Универсальные цветовые пространства с 2 компонентами.
См. также:
  • Значения константных полей

TYPE_3CLR

@Native public static final int TYPE_3CLR
Универсальные цветовые пространства с 3 компонентами.
См. также:
  • Значения константных полей

TYPE_4CLR

@Native public static final int TYPE_4CLR
Универсальные цветовые пространства с 4 компонентами.
См. также:
  • Значения константных полей

TYPE_5CLR

@Native public static final int TYPE_5CLR
Универсальные цветовые пространства с 5 компонентами.
См. также:
  • Значения константных полей

TYPE_6CLR

@Native public static final int TYPE_6CLR
Универсальные цветовые пространства с 6 компонентами.
См. также:
  • Значения константных полей

TYPE_7CLR

@Native public static final int TYPE_7CLR
Универсальные цветовые пространства с 7 компонентами.
См. также:
  • Значения константных полей

TYPE_8CLR

@Native public static final int TYPE_8CLR
Универсальные цветовые пространства с 8 компонентами.
См. также:
  • Значения константных полей

TYPE_9CLR

@Native public static final int TYPE_9CLR
Универсальные цветовые пространства с 9 компонентами.
См. также:
  • Значения константных полей

TYPE_ACLR

@Native public static final int TYPE_ACLR
Универсальные цветовые пространства с 10 компонентами.
См. также:
  • Значения константных полей

TYPE_BCLR

@Native public static final int TYPE_BCLR
Универсальные цветовые пространства с 11 компонентами.
См. также:
  • Значения константных полей

TYPE_CCLR

@Native public static final int TYPE_CCLR
Универсальные цветовые пространства с 12 компонентами.
См. также:
  • Значения константных полей

TYPE_DCLR

@Native public static final int TYPE_DCLR
Универсальные цветовые пространства с 13 компонентами.
См. также:
  • Значения константных полей

TYPE_ECLR

@Native public static final int TYPE_ECLR
Универсальные цветовые пространства с 14 компонентами.
См. также:
  • Значения константных полей

TYPE_FCLR

@Native public static final int TYPE_FCLR
Универсальные цветовые пространства с 15 компонентами.
См. также:
  • Значения константных полей

CS_sRGB

@Native public static final int CS_sRGB
Встроенное цветовое пространство sRGB, определенное по адресу http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html.
См. также:
  • Значения константных полей

CS_LINEAR_RGB

@Native public static final int CS_LINEAR_RGB
Встроенное линейное цветовое пространство RGB. Это пространство основано на тех же основных цветах RGB, что и CS_sRGB, но имеет линейную тоновую характеристическую кривую.
См. также:
  • Значения константных полей

CS_CIEXYZ

@Native public static final int CS_CIEXYZ
Встроенное преобразовательное цветовое пространство CIEXYZ, определенное выше.
См. также:
  • Значения константных полей

CS_PYCC

@Native public static final int CS_PYCC
Встроенное преобразовательное цветовое пространство Photo YCC.
См. также:
  • Значения константных полей

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()
Возвращает true, если 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.
Возвращает:
количество компонентов в этом ColorSpace

getName

public String getName(int component)
Возвращает имя компонента с заданным индексом.
Параметры:
component — индекс компонента
Возвращает:
имя компонента с указанным индексом
Исключения:
IllegalArgumentException — если component меньше 0 или больше numComponents - 1

getMinValue

public float getMinValue(int component)
Возвращает минимальное нормализованное значение цветового компонента для указанного компонента. Реализация по умолчанию в этом абстрактном классе возвращает 0.0 для всех компонентов. При необходимости подклассы должны переопределить этот метод.
Параметры:
component — индекс компонента
Возвращает:
минимальное нормализованное значение компонента
Исключения:
IllegalArgumentException — если индекс компонента меньше 0 или больше numComponents - 1
Начиная с:
1.4

getMaxValue

public float getMaxValue(int component)
Возвращает максимальное нормализованное значение цветового компонента для указанного компонента. Реализация по умолчанию в этом абстрактном классе возвращает 1.0 для всех компонентов. При необходимости подклассы должны переопределить этот метод.
Параметры:
component — индекс компонента
Возвращает:
максимальное нормализованное значение компонента
Исключения:
IllegalArgumentException — если индекс компонента меньше 0 или больше numComponents - 1
Начиная с:
1.4

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API