Класс ICC_ProfileRGB

Все реализованные интерфейсы:
Serializable
public class ICC_ProfileRGB
extends ICC_Profile

Класс ICC_ProfileRGB — подкласс класса ICC_Profile, представляющий профили, которые соответствуют следующим критериям:

  • Тип цветового пространства профиля — RGB.
  • Профиль включает теги redColorantTag, greenColorantTag, blueColorantTag, redTRCTag, greenTRCTag, blueTRCTag, и mediaWhitePointTag.
Метод ICC_Profile getInstance вернёт объект ICC_ProfileRGB, если эти условия выполнены. Примерами этого типа профилей являются трехкомпонентные входные профили на основе матриц и профили RGB-дисплея.

Этот класс профиля предоставляет матрицы преобразования цвета и таблицы поиска, которые Java или родные методы могут использовать напрямую для оптимизации преобразования цветов в некоторых случаях.

Для преобразования из цветового пространства профиля устройства в цветовое пространство связи профиля CIEXYZ каждый компонент цвета устройства сначала линейно преобразуется с помощью таблицы поиска по соответствующей кривой воспроизведения тона (TRC). Полученные линейные компоненты RGB преобразуются в CIEXYZ PCS с помощью матрицы 3x3, построенной из цветовых компонентов RGB.

                linearR = redTRC[deviceR]

                 linearG = greenTRC[deviceG]

                 linearB = blueTRC[deviceB]

   _      _       _                                             _   _         _
  [  PCSX  ]     [  redColorantX  greenColorantX  blueColorantX  ] [  linearR  ]
  [        ]     [                                               ] [           ]
  [  PCSY  ]  =  [  redColorantY  greenColorantY  blueColorantY  ] [  linearG  ]
  [        ]     [                                               ] [           ]
  [_ PCSZ _]     [_ redColorantZ  greenColorantZ  blueColorantZ _] [_ linearB _]
Обратное преобразование выполняется путём преобразования компонентов PCS XYZ в линейные компоненты RGB с помощью обратной матрицы 3x3, а затем преобразования линейных RGB в RGB устройства путём обратных преобразований TRC.
См. также:
Сериализованная форма

Поля

Модификатор и типПолеОписание
static intBLUECOMPONENT

Используется для получения значения гамма или TRC для синего компонента.

static intGREENCOMPONENT

Используется для получения значения гамма или TRC для зеленого компонента.

static intREDCOMPONENT

Используется для получения значения гамма или TRC для красного компонента.

Поля, объявленные в классе java.awt.color.ICC_Profile

CLASS_ABSTRACT, CLASS_COLORSPACECONVERSION, CLASS_DEVICELINK, CLASS_DISPLAY, CLASS_INPUT, CLASS_NAMEDCOLOR, CLASS_OUTPUT, icAbsoluteColorimetric, icCurveCount, icCurveData, icHdrAttributes, icHdrCmmId, icHdrColorSpace, icHdrCreator, icHdrDate, icHdrDeviceClass, icHdrFlags, icHdrIlluminant, icHdrMagic, icHdrManufacturer, icHdrModel, icHdrPcs, icHdrPlatform, icHdrProfileID, icHdrRenderingIntent, icHdrSize, icHdrVersion, icICCAbsoluteColorimetric, icMediaRelativeColorimetric, icPerceptual, icRelativeColorimetric, icSaturation, icSigAbstractClass, icSigAToB0Tag, icSigAToB1Tag, icSigAToB2Tag, icSigBlueColorantTag, icSigBlueMatrixColumnTag, icSigBlueTRCTag, icSigBToA0Tag, icSigBToA1Tag, icSigBToA2Tag, icSigCalibrationDateTimeTag, icSigCharTargetTag, icSigChromaticAdaptationTag, icSigChromaticityTag, icSigCmyData, icSigCmykData, icSigColorantOrderTag, icSigColorantTableTag, icSigColorSpaceClass, icSigCopyrightTag, icSigCrdInfoTag, icSigDeviceMfgDescTag, icSigDeviceModelDescTag, icSigDeviceSettingsTag, icSigDisplayClass, icSigGamutTag, icSigGrayData, icSigGrayTRCTag, icSigGreenColorantTag, icSigGreenMatrixColumnTag, icSigGreenTRCTag, icSigHead, icSigHlsData, icSigHsvData, icSigInputClass, icSigLabData, icSigLinkClass, icSigLuminanceTag, icSigLuvData, icSigMeasurementTag, icSigMediaBlackPointTag, icSigMediaWhitePointTag, icSigNamedColor2Tag, icSigNamedColorClass, icSigOutputClass, icSigOutputResponseTag, icSigPreview0Tag, icSigPreview1Tag, icSigPreview2Tag, icSigProfileDescriptionTag, icSigProfileSequenceDescTag, icSigPs2CRD0Tag, icSigPs2CRD1Tag, icSigPs2CRD2Tag, icSigPs2CRD3Tag, icSigPs2CSATag, icSigPs2RenderingIntentTag, icSigRedColorantTag, icSigRedMatrixColumnTag, icSigRedTRCTag, icSigRgbData, icSigScreeningDescTag, icSigScreeningTag, icSigSpace2CLR, icSigSpace3CLR, icSigSpace4CLR, icSigSpace5CLR, icSigSpace6CLR, icSigSpace7CLR, icSigSpace8CLR, icSigSpace9CLR, icSigSpaceACLR, icSigSpaceBCLR, icSigSpaceCCLR, icSigSpaceDCLR, icSigSpaceECLR, icSigSpaceFCLR, icSigTechnologyTag, icSigUcrBgTag, icSigViewingCondDescTag, icSigViewingConditionsTag, icSigXYZData, icSigYCbCrData, icSigYxyData, icTagReserved, icTagType, icXYZNumberX

Методы

Модификатор и типМетодОписание
floatgetGamma​(int component)

Возвращает значение гамма, представляющее кривую воспроизведения тона (TRC) для конкретного компонента.

float[][]getMatrix()

Возвращает матрицу 3x3 float, построенную из компонентов X, Y и Z цветового профиля redColorantTag, greenColorantTag, и blueColorantTag.

float[]getMediaWhitePoint()

Возвращает массив, содержащий компоненты mediaWhitePointTag профиля.

short[]getTRC​(int component)

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

Методы, объявленные в классе java.awt.color.ICC_Profile

finalize, getColorSpaceType, getData, getData, getInstance, getInstance, getInstance, getInstance, getMajorVersion, getMinorVersion, getNumComponents, getPCSType, getProfileClass, readResolve, setData, write, write

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

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

Поля

REDCOMPONENT

public static final int REDCOMPONENT

Используется для получения значения гамма или TRC для красного компонента.

См. также:
Значения константных полей

GREENCOMPONENT

public static final int GREENCOMPONENT

Используется для получения значения гамма или TRC для зеленого компонента.

См. также:
Значения константных полей

BLUECOMPONENT

public static final int BLUECOMPONENT

Используется для получения значения гамма или TRC для синего компонента.

См. также:
Значения константных полей

Методы

getMediaWhitePoint

public float[] getMediaWhitePoint()

Возвращает массив, содержащий компоненты mediaWhitePointTag профиля.

Возвращает:
Массив float из 3 элементов, содержащий компоненты x, y и z mediaWhitePointTag профиля.

getMatrix

public float[][] getMatrix()

Возвращает матрицу 3x3 float, построенную из компонентов X, Y и Z цветового профиля redColorantTag, greenColorantTag, и blueColorantTag.

Эта матрица может быть использована для преобразований цвета в прямом направлении профиля — от цветового пространства профиля к CIEXYZ PCS.

Возвращает:
Массив float 3x3, содержащий компоненты x, y и z redColorantTag, greenColorantTag, и blueColorantTag профиля.

getGamma

public float getGamma(int component)

Возвращает значение гамма, представляющее кривую воспроизведения тона (TRC) для конкретного компонента. Параметр component должен быть равен REDCOMPONENT, GREENCOMPONENT или BLUECOMPONENT.

Если профиль представляет TRC для соответствующего компонента как таблицу, а не как одиночное значение гамма, выбрасывается исключение. В этом случае фактическую таблицу можно получить с помощью метода getTRC(int). При использовании значения гамма линейный компонент (R, G или B) вычисляется следующим образом:

                                          gamma
          linearComponent = deviceComponent
Параметры:
component — константа ICC_ProfileRGB, представляющая компонент, TRC которого требуется получить
Возвращает:
значение гамма в виде числа с плавающей точкой.
Исключения:
ProfileDataException — если профиль не определяет соответствующую TRC как одиночное значение гамма.

getTRC

public short[] getTRC(int component)

Возвращает TRC для конкретного компонента в виде массива. Компонент должен быть REDCOMPONENT, GREENCOMPONENT, или BLUECOMPONENT. В противном случае возвращаемый массив представляет таблицу поиска, где входное значение компонента концептуально находится в диапазоне [0.0, 1.0]. Значение 0.0 соответствует индексу массива 0, а значение 1.0 — индексу длины-1. Для генерации выходных значений для входных значений, которые не точно соответствуют индексу в массиве, может использоваться интерполяция. Выходные значения также линейно отображаются на диапазон [0.0, 1.0]. Значение 0.0 представлено значением массива 0x0000, а значение 1.0 — 0xFFFF. Другими словами, значения фактически являются беззнаковыми short значениями, даже если они возвращаются в массиве short. Если профиль определил соответствующую TRC как линейную (гамма = 1.0) или как простое значение гамма, этот метод вызывает исключение. В этом случае для получения значения гамма следует использовать метод getGamma(int).

Параметры:
component — константа ICC_ProfileRGB, представляющая компонент, TRC которого требуется получить: REDCOMPONENT, GREENCOMPONENT, или BLUECOMPONENT.
Возвращает:
массив типа short, представляющий TRC.
Исключения:
ProfileDataException — если профиль не определяет соответствующую TRC как таблицу.

© 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/ICC_ProfileRGB.html

Spec-Zone .ru
спецификации, руководства, описания, API