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