Spec-Zone.ru › OpenJDK 24

Класс ICC_ProfileRGB

java.lang.Object
java.awt.color.ICC_Profile
java.awt.color.ICC_ProfileRGB
Все реализуемые интерфейсы:
Serializable
public final class ICC_ProfileRGB extends ICC_Profile
Класс ICC_ProfileRGB — подкласс класса ICC_Profile, представляющий профили, удовлетворяющие следующим критериям: тип цветового пространства профиля — RGB, и профиль включает теги redColorantTag, greenColorantTag, blueColorantTag, redTRCTag, greenTRCTag, blueTRCTag, mediaWhitePointTag. Методы класса ICC_Profile при соблюдении указанных условий вернут объект 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 final int BLUECOMPONENT
Используется для получения значения гаммы или кривой TRC для синего компонента.
static final int GREENCOMPONENT
Используется для получения значения гаммы или кривой TRC для зеленого компонента.
static final 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

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

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

clone, equals, finalize, 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
Исключения:
IllegalArgumentException - если компонент не REDCOMPONENT, GREENCOMPONENT или BLUECOMPONENT
ProfileDataException - если профиль не задает соответствующую TRC как простое значение гамма

getTRC

public short[] getTRC(int component)
Возвращает TRC для определенного компонента в виде массива. Компонент должен быть REDCOMPONENT, GREENCOMPONENT или BLUECOMPONENT. В противном случае возвращаемый массив представляет таблицу поиска, где входное значение компонента концептуально в диапазоне [0.0, 1.0]. Значение 0.0 соответствует индексу массива 0, а значение 1.0 — индексу length-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
Исключения:
IllegalArgumentException - если компонент не REDCOMPONENT, GREENCOMPONENT или BLUECOMPONENT
ProfileDataException - если профиль не задает соответствующую TRC в виде таблицы

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/color/ICC_ProfileRGB.html

Spec-Zone.ru

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