Spec-Zone.ru › OpenJDK 24

Класс 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.

В целях методов этого класса цвета представлены в виде массивов цветовых компонентов, представленных как числа с плавающей точкой в нормализованном диапазоне, определённом каждым 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.

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

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

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

TYPE_XYZ

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

TYPE_Lab

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

TYPE_Luv

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

TYPE_YCbCr

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

TYPE_Yxy

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

TYPE_RGB

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

TYPE_GRAY

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

TYPE_HSV

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

TYPE_HLS

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

TYPE_CMYK

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

TYPE_CMY

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

TYPE_2CLR

@Native public static final int TYPE_2CLR
Универсальные 2-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_3CLR

@Native public static final int TYPE_3CLR
Универсальные 3-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_4CLR

@Native public static final int TYPE_4CLR
Универсальные 4-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_5CLR

@Native public static final int TYPE_5CLR
Универсальные 5-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_6CLR

@Native public static final int TYPE_6CLR
Универсальные 6-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_7CLR

@Native public static final int TYPE_7CLR
Универсальные 7-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_8CLR

@Native public static final int TYPE_8CLR
Универсальные 8-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_9CLR

@Native public static final int TYPE_9CLR
Универсальные 9-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_ACLR

@Native public static final int TYPE_ACLR
Универсальные 10-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_BCLR

@Native public static final int TYPE_BCLR
Универсальные 11-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_CCLR

@Native public static final int TYPE_CCLR
Универсальные 12-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_DCLR

@Native public static final int TYPE_DCLR
Универсальные 13-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_ECLR

@Native public static final int TYPE_ECLR
Универсальные 14-компонентные цветовые пространства.
См. также:
  • Constant Field Values

TYPE_FCLR

@Native public static final int TYPE_FCLR
Универсальные 15-компонентные цветовые пространства.
См. также:
  • Constant Field Values

CS_sRGB

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

CS_LINEAR_RGB

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

CS_CIEXYZ

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

CS_PYCC

@Native public static final int CS_PYCC
Встроенное цветовое пространство преобразования Photo YCC.
См. также:
  • Constant Field Values

CS_GRAY

@Native public static final int CS_GRAY
Встроенное линейное цветовое пространство градаций серого.
См. также:
  • Constant Field Values

Подробное описание конструкторов

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 для всех компонентов. Подклассы должны переопределить этот метод, если необходимо.
Parameters:
component - индекс компонента
Returns:
минимальное значение нормализованного компонента
Throws:
IllegalArgumentException - если компонент меньше 0 или больше numComponents - 1
Since:
1.4

getMaxValue

public float getMaxValue(int component)
Возвращает максимальное значение нормализованного цветового компонента для указанного компонента. Реализация по умолчанию в этом абстрактном классе возвращает 1,0 для всех компонентов. Подклассы должны переопределить этот метод, если необходимо.
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

Spec-Zone.ru

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