Класс 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 _]Обратное преобразование выполняется путём преобразования компонентов PCS XYZ в линейные компоненты 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[] | getMediaWhitePoint() | Возвращает массив, содержащий компоненты |
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 профиля.
- Возвращает:
- Массив
floatиз 3 элементов, содержащий компоненты x, y и zmediaWhitePointTagпрофиля.
getMatrix
public float[][] getMatrix()
Возвращает матрицу 3x3 float, построенную из компонентов X, Y и Z цветового профиля redColorantTag, greenColorantTag, и blueColorantTag.
Эта матрица может быть использована для преобразований цвета в прямом направлении профиля — от цветового пространства профиля к CIEXYZ PCS.
- Возвращает:
- Массив
float3x3, содержащий компоненты x, y и zredColorantTag,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 которого требуется получить- Возвращает:
- значение гамма в виде числа с плавающей точкой.
- Исключения:
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/color/ICC_ProfileRGB.html