Spec-Zone.ru › OpenJDK 8

Класс ICC_ProfileRGB

  • java.lang.Object
    • java.awt.color.ICC_Profile
      • java.awt.color.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 _]
Обратное преобразование выполняется путём преобразования компонентов XYZ PCS в линейные компоненты RGB с помощью обратной вышеупомянутой 3x3 матрицы, а затем — преобразования линейных RGB в RGB устройства с помощью обратных TRC.
См. также:
Сериализованная форма

Поля

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

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

static int GREENCOMPONENT

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

static int REDCOMPONENT

Используется для получения значения гамма или 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

Методы

Модификатор и тип Метод и описание
float getGamma(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.

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

getMatrix

public float[][] getMatrix()

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

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

Возвращает:
Массив 3x3 float содержащий компоненты 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 которого требуется получить
Возвращает:
значение гамма как float.
Выбрасывает:
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.

Spec-Zone.ru

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