Класс 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 | Цветовое пространство преобразования 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() | Возвращает количество компонентов этого цветового пространства. |
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.
- См. также:
- Значения константных полей
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 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, в это цветовое пространство.
Этот метод преобразует значения цветов с использованием алгоритмов, предназначенных для достижения наилучшего перцептивного соответствия между входными и выходными цветами. Для выполнения колориметрического преобразования значений цвета следует использовать метод toCIEXYZ цветового пространства CS_sRGB для предварительного преобразования из входного цветового пространства в цветовое пространство CS_CIEXYZ, а затем использовать метод fromCIEXYZ этого цветового пространства для преобразования из CS_CIEXYZ в выходное цветовое пространство. См. toCIEXYZ и fromCIEXYZ для получения дополнительной информации.
- Параметры:
-
rgbvalue- массив float с длиной не менее 3 - Возвращает:
- массив float с длиной, равной количеству компонентов в этом ColorSpace
- Исключения:
-
ArrayIndexOutOfBoundsException- если длина массива меньше 3
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.
fromCIEXYZ
public abstract float[] fromCIEXYZ(float[] colorvalue)
Преобразует значение цвета, предполагаемое в цветовом пространстве преобразования CS_CIEXYZ, в это цветовое пространство.
Этот метод преобразует значения цветов с использованием относительной колориметрии, как определено стандартом Международного консорциума по цвету. Это означает, что значения XYZ, принимаемые этим методом, представлены относительно белой точки D50 цветового пространства CS_CIEXYZ. Это представление полезно в двухэтапном процессе преобразования цветов, в котором цвета преобразуются из входного цветового пространства в CS_CIEXYZ, а затем в выходное цветовое пространство. Значения цвета, возвращаемые этим методом, не являются теми, которые дадут значение XYZ, переданное методу, при измерении прибором для измерения цвета. Если у вас есть значения XYZ, соответствующие измерениям, выполненным в соответствии с текущими рекомендациями CIE, они должны быть преобразованы в значения, относительные к D50, перед передачей в этот метод. См. метод fromCIEXYZ ICC_ColorSpace для получения дополнительной информации.
- Параметры:
-
colorvalue- массив float с длиной не менее 3 - Возвращает:
- массив float с длиной, равной количеству компонентов в этом 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/color/ColorSpace.html