Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект другому объекту.
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(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо истечения заданного времени.

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

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, 2026, 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.

Spec-Zone.ru

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