Класс 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 |
Возвращает значение гаммы, представляющее кривую воспроизведения тона (TRC) для определённого компонента. |
float[][] |
getMatrix() |
Возвращает матрицу 3x3 float , построенную из компонентов X, Y и Z redColorantTag, greenColorantTag, и blueColorantTag профиля. |
float[] |
getMediaWhitePoint() |
Возвращает массив, содержащий компоненты mediaWhitePointTag профиля. |
short[] |
getTRC |
Возвращает TRC для определённого компонента в виде массива. |
Методы, объявленные в классе java.awt.color.ICC_Profile
getColorSpaceType, getData, getData, getInstance, getInstance, getInstance, getInstance, getMajorVersion, getMinorVersion, getNumComponents, getPCSType, getProfileClass, readResolve, setData, write, write
Подробное описание полей
REDCOMPONENT
public static final int REDCOMPONENT
- См. также:
GREENCOMPONENT
public static final int GREENCOMPONENT
- См. также:
BLUECOMPONENT
public static final int BLUECOMPONENT
- См. также:
Подробное описание методов
getMediaWhitePoint
public float[] getMediaWhitePoint()
mediaWhitePointTag профиля.- Возвращает:
- массив
floatиз 3 элементов, содержащий компоненты x, y и zmediaWhitePointTagпрофиля
getMatrix
public float[][] getMatrix()
float , построенную из компонентов X, Y и Z redColorantTag, greenColorantTag, и blueColorantTag профиля. Эта матрица может использоваться для преобразования цветов в прямом направлении профиля — из цветового пространства профиля в CIEXYZ PCS.
- Возвращает:
- массив
float3x3, содержащий компоненты x, y и zredColorantTag,greenColorantTag, иblueColorantTagпрофиля
getGamma
public float getGamma(int 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)
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, 2023, 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/21/docs/api/java.desktop/java/awt/color/ICC_ProfileRGB.html