Класс 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 |
Возвращает значение гаммы, представляющее кривую воспроизведения тонов (TRC) для определенного компонента. |
float[][] |
getMatrix() |
Возвращает матрицу float 3x3, построенную на основе компонентов X, Y и Z профиля redColorantTag, greenColorantTag и blueColorantTag. |
float[] |
getMediaWhitePoint() |
Возвращает массив, содержащий компоненты mediaWhitePointTag профиля. |
short[] |
getTRC |
Возвращает TRC для определенного компонента в виде массива. |
Методы, объявленные в классе 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 3x3, построенную на основе компонентов X, Y и Z профиля redColorantTag, greenColorantTag и blueColorantTag. Эту матрицу можно использовать для прямых цветовых преобразований профиля — из цветового пространства профиля в PCS CIEXYZ.
- Возвращает:
- массив
float3x3, содержащий компоненты x, y и z профиляredColorantTag,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 соответствующего компонента как линейную (gamma = 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/color/ICC_ProfileRGB.html