Spec-Zone.ru › OpenJDK 8

Класс ColorSpace

  • java.lang.Object
    • java.awt.color.ColorSpace
Все реализованные интерфейсы:
Serializable
Прямые известные подклассы:
ICC_ColorSpace

public abstract class ColorSpace
extends Object
implements Serializable

Этот абстрактный класс используется в качестве метки цветового пространства для определения конкретного цветового пространства объекта Color или, посредством объекта ColorModel, изображения, BufferedImage или GraphicsDevice. Он содержит методы, которые преобразуют цвета в определённом цветовом пространстве в/из sRGB и в/из хорошо определённого цветового пространства CIEXYZ.

В целях методов этого класса цвета представляются как массивы цветовых компонентов, представленных в виде чисел с плавающей точкой в нормализованном диапазоне, определённом каждым ColorSpace. Для многих ColorSpace (например, sRGB), этот диапазон составляет от 0,0 до 1,0. Однако некоторые ColorSpace имеют компоненты, значения которых имеют другой диапазон. Предоставляются методы для запроса минимальных и максимальных нормализованных значений по каждому компоненту.

Несколько переменных определены для целей ссылки на типы цветовых пространств (например, 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 int CS_CIEXYZ

Цветовое пространство преобразования CIEXYZ, определённое выше.

static int CS_GRAY

Встроенное линейное цветовое пространство серого.

static int CS_LINEAR_RGB

Встроенное линейное цветовое пространство RGB.

static int CS_PYCC

Цветовое пространство преобразования Photo YCC.

static int CS_sRGB

Цветовое пространство sRGB, определённое по адресу http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html.

static int TYPE_2CLR

Общеупотребительные цветовые пространства с 2 компонентами.

static int TYPE_3CLR

Общеупотребительные цветовые пространства с 3 компонентами.

static int TYPE_4CLR

Общеупотребительные цветовые пространства с 4 компонентами.

static int TYPE_5CLR

Общеупотребительные цветовые пространства с 5 компонентами.

static int TYPE_6CLR

Общеупотребительные цветовые пространства с 6 компонентами.

static int TYPE_7CLR

Общеупотребительные цветовые пространства с 7 компонентами.

static int TYPE_8CLR

Общеупотребительные цветовые пространства с 8 компонентами.

static int TYPE_9CLR

Общеупотребительные цветовые пространства с 9 компонентами.

static int TYPE_ACLR

Общеупотребительные цветовые пространства с 10 компонентами.

static int TYPE_BCLR

Общеупотребительные цветовые пространства с 11 компонентами.

static int TYPE_CCLR

Общеупотребительные цветовые пространства с 12 компонентами.

static int TYPE_CMY

Любое из семейства цветовых пространств CMY.

static int TYPE_CMYK

Любое из семейства цветовых пространств CMYK.

static int TYPE_DCLR

Общеупотребительные цветовые пространства с 13 компонентами.

static int TYPE_ECLR

Общеупотребительные цветовые пространства с 14 компонентами.

static int TYPE_FCLR

Общеупотребительные цветовые пространства с 15 компонентами.

static int TYPE_GRAY

Любое из семейства цветовых пространств GRAY.

static int TYPE_HLS

Любое из семейства цветовых пространств HLS.

static int TYPE_HSV

Любое из семейства цветовых пространств HSV.

static int TYPE_Lab

Любое из семейства цветовых пространств Lab.

static int TYPE_Luv

Любое из семейства цветовых пространств Luv.

static int TYPE_RGB

Любое из семейства цветовых пространств RGB.

static int TYPE_XYZ

Любое из семейства цветовых пространств XYZ.

static int TYPE_YCbCr

Любое из семейства цветовых пространств YCbCr.

static int TYPE_Yxy

Любое из семейства цветовых пространств Yxy.

Конструкторы

Модификатор Конструктор и описание
protected ColorSpace(int type, int numcomponents)

Создаёт объект ColorSpace, заданный типом цветового пространства и числом компонентов.

Методы

Модификатор и тип Метод и описание
abstract float[] fromCIEXYZ(float[] colorvalue)

Преобразует значение цвета, предполагая, что оно находится в цветовом пространстве преобразования CS_CIEXYZ, в это цветовое пространство.

abstract float[] fromRGB(float[] rgbvalue)

Преобразует значение цвета, предполагая, что оно находится в стандартном цветовом пространстве CS_sRGB, в это цветовое пространство.

static ColorSpace getInstance(int colorspace)

Возвращает ColorSpace, представляющий одно из заранее определённых цветовых пространств.

float getMaxValue(int component)

Возвращает максимальное нормализованное значение цветового компонента для указанного компонента.

float getMinValue(int component)

Возвращает минимальное нормализованное значение цветового компонента для указанного компонента.

String getName(int idx)

Возвращает имя компонента по индексу компонента.

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 colorspace)

Возвращает объект ColorSpace, представляющий одно из определенных предопределенных цветовых пространств.

Параметры:
colorspace - определенное цветовое пространство, идентифицированное одной из предопределенных констант класса (например, CS_sRGB, CS_LINEAR_RGB, CS_CIEXYZ, CS_GRAY или CS_PYCC)
Возвращает:
запрошенный объект ColorSpace

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

fromRGB

public abstract float[] fromRGB(float[] rgbvalue)

Преобразует значение цвета, предполагаемое в цветовом пространстве CS_sRGB по умолчанию, в это ColorSpace.

Этот метод преобразует значения цвета, используя алгоритмы, разработанные для обеспечения наилучшего перцептивного соответствия между входными и выходными цветами. Для выполнения колориметрического преобразования значений цвета следует использовать метод toCIEXYZ цветового пространства CS_sRGB для предварительного преобразования из входного цветового пространства в цветовое пространство CS_CIEXYZ, а затем использовать метод fromCIEXYZ этого цветового пространства для преобразования из CS_CIEXYZ в выходное цветовое пространство. См. toCIEXYZ и fromCIEXYZ для получения дополнительной информации.

Параметры:
rgbvalue - массив чисел с плавающей точкой длиной не менее 3
Возвращает:
массив чисел с плавающей точкой длиной, равной количеству компонентов в этом ColorSpace
Выбрасывает:
ArrayIndexOutOfBoundsException - если длина массива меньше 3

toCIEXYZ

public abstract float[] toCIEXYZ(float[] colorvalue)

Преобразует значение цвета, предполагаемое в этом ColorSpace, в цветовое пространство преобразования CS_CIEXYZ.

Этот метод преобразует значения цвета с использованием относительной колориметрии, как определено стандартом International Color Consortium. Это означает, что значения XYZ, возвращаемые этим методом, представлены относительно белой точки D50 цветового пространства CS_CIEXYZ. Эта форма представления полезна в двухэтапном процессе преобразования цветов, в котором цвета преобразуются из входного цветового пространства в CS_CIEXYZ, а затем в выходное цветовое пространство. Эта форма представления не эквивалентна значениям XYZ, которые были бы измерены колориметром для данного значения цвета. Для вычисления значений XYZ, которые были бы измерены с использованием текущих рекомендуемых практик CIE, требуется дополнительное преобразование. См. метод toCIEXYZ класса ICC_ColorSpace для получения дополнительной информации.

Параметры:
colorvalue - массив чисел с плавающей точкой длиной не менее количества компонентов в этом ColorSpace
Возвращает:
массив чисел с плавающей точкой длиной 3
Выбрасывает:
ArrayIndexOutOfBoundsException - если длина массива меньше количества компонентов в этом ColorSpace.

fromCIEXYZ

public abstract float[] fromCIEXYZ(float[] colorvalue)

Преобразует значение цвета, предполагаемое в цветовом пространстве преобразования CS_CIEXYZ, в это ColorSpace.

Этот метод преобразует значения цвета с использованием относительной колориметрии, как определено стандартом International Color Consortium. Это означает, что значения аргумента XYZ, принятые этим методом, представлены относительно белой точки D50 цветового пространства CS_CIEXYZ. Эта форма представления полезна в двухэтапном процессе преобразования цветов, в котором цвета преобразуются из входного цветового пространства в CS_CIEXYZ, а затем в выходное цветовое пространство. Значения цветов, возвращаемые этим методом, не являются теми, которые дали бы значение XYZ, переданное методу, при измерении колориметром. Если у вас есть значения XYZ, соответствующие измерениям, выполненным в соответствии с текущими рекомендациями CIE, их необходимо преобразовать в относительные значения D50, прежде чем передавать их в этот метод. См. метод fromCIEXYZ класса ICC_ColorSpace для получения дополнительной информации.

Параметры:
colorvalue - массив чисел с плавающей точкой длиной не менее 3
Возвращает:
массив чисел с плавающей точкой длиной, равной количеству компонентов в этом ColorSpace
Выбрасывает:
ArrayIndexOutOfBoundsException - если длина массива меньше 3

getType

public int getType()

Возвращает тип цветового пространства этого ColorSpace (например, TYPE_RGB, TYPE_XYZ, ...). Тип определяет количество компонентов цветового пространства и интерпретацию, например, TYPE_RGB идентифицирует цветовое пространство с тремя компонентами — красный, зеленый и синий. Он не определяет конкретные цветовые характеристики пространства, например, хроматичность основных цветов.

Возвращает:
константу типа, представляющую тип этого ColorSpace

getNumComponents

public int getNumComponents()

Возвращает количество компонентов этого ColorSpace.

Возвращает:
Количество компонентов в этом ColorSpace.

getName

public String getName(int idx)

Возвращает имя компонента, заданного индексом компонента.

Параметры:
idx - индекс компонента
Возвращает:
имя компонента в заданном индексе
Выбрасывает:
IllegalArgumentException - если idx меньше 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

© 1993, 2020, 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