Spec-Zone.ru › OpenJDK 25

Класс 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. Методы getInstance в классе ICC_Profile возвращают объект ICC_ProfileRGB, если выполнены указанные выше условия. Примерами профилей этого типа являются трехкомпонентные входные профили на основе матрицы и RGB-профили дисплеев.

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

Для преобразования из цветового пространства профиля устройства в пространство соединения профилей CIEXYZ каждый цветовой компонент устройства сначала линеаризуется посредством поиска в соответствующей кривой воспроизведения тонов (TRC). Полученные линейные компоненты RGB преобразуются в PCS CIEXYZ с помощью матрицы 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 красного компонента.

Поля, объявленные в классе 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()
Возвращает матрицу float 3x3, построенную на основе компонентов X, Y и Z профиля redColorantTag, greenColorantTag и blueColorantTag.
float[] getMediaWhitePoint()
Возвращает массив, содержащий компоненты mediaWhitePointTag профиля.
short[] getTRC(int component)
Возвращает TRC для определенного компонента в виде массива.

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

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

Методы, объявленные в классе 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 профиля.
Возвращает:
массив float из 3 элементов, содержащий компоненты x, y и z mediaWhitePointTag профиля

getMatrix

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

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

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

getGamma

public float getGamma(int component)
Возвращает значение гаммы, представляющее кривую воспроизведения тонов (TRC) для определенного компонента. Параметр компонента должен иметь одно из значений: 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 соответствующего компонента как линейную (gamma = 1.0) или как простое значение гаммы, этот метод выбрасывает исключение. В этом случае для получения значения гаммы следует использовать метод getGamma(int).

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/color/ICC_ProfileRGB.html

Spec-Zone.ru

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