Spec-Zone.ru › OpenJDK 17

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

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

Возвращает:
массив из 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
Исключения:
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 как линейную (гамма = 1,0) или как простое значение гаммы, этот метод выбрасывает исключение. В этом случае следует использовать метод getGamma(int) для получения значения гаммы.

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

© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/color/ICC_ProfileRGB.html

Spec-Zone.ru

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