Класс 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 _]Обратное преобразование выполняется путём преобразования компонентов XYZ PCS в линейные компоненты 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.
- Возвращает:
- Массив из 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.
- Выбрасывает:
-
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.