Spec-Zone .ru
спецификации, руководства, описания, API
|
public class ICC_ColorSpace extends ColorSpace
Как правило, Цвет или ColorModel были бы связаны с Профилем ICC, который является или вводом, дисплеем, или выходным профилем (см. спецификацию ICC). Есть другие типы Профилей ICC, например, абстрактные профили, профили ссылки устройства, и названные цветные профили, которые не содержат информацию, подходящую для представления цветового пространства цвета, изображения, или устройства (см. ICC_Profile). Попытка создать объект ICC_ColorSpace из несоответствующего Профиля ICC является ошибкой.
Профили ICC представляют преобразования от цветового пространства профиля (например, монитор) к Пространству Соединения Профиля (PCS). У представляющих интерес профилей для того, чтобы тегировать изображения или цвета есть PCS, который является одними из независимых от устройств пробелов (одно пространство CIEXYZ и два пробелов CIELab) определенный в Спецификации Формата Профиля ICC. Большинство профилей интереса или имеет обратимые преобразования или явно определяет преобразования, идущие оба направления. Если объект ICC_ColorSpace используется в способе требовать преобразования от PCS до собственного пространства профиля и есть несоответствующие данные, чтобы правильно выполнить преобразование, объект ICC_ColorSpace произведет вывод в указанном типе цветового пространства (например. TYPE_RGB, TYPE_CMYK, и т.д.), но определенные значения цвета выходных данных будут неопределены.
Детали этого class не важны для простых апплетов, которые тянут в цвете по умолчанию, располагают с интервалами или управляют и выводят на экран импортированные изображения с известным цветовым пространством. Самое большее такие апплеты должны были бы получить одни из пробелов цвета по умолчанию через ColorSpace.getInstance ().
ColorSpace
, ICC_Profile
, Сериализированная ФормаCS_CIEXYZ, CS_GRAY, CS_LINEAR_RGB, CS_PYCC, CS_sRGB, TYPE_2CLR, TYPE_3CLR, TYPE_4CLR, TYPE_5CLR, TYPE_6CLR, TYPE_7CLR, TYPE_8CLR, TYPE_9CLR, TYPE_ACLR, TYPE_BCLR, TYPE_CCLR, TYPE_CMY, TYPE_CMYK, TYPE_DCLR, TYPE_ECLR, TYPE_FCLR, TYPE_GRAY, TYPE_HLS, TYPE_HSV, TYPE_Lab, TYPE_Luv, TYPE_RGB, TYPE_XYZ, TYPE_YCbCr, TYPE_Yxy
Конструктор и Описание |
---|
ICC_ColorSpace(ICC_Profile profile)
Создает новый ICC_ColorSpace из объекта ICC_Profile.
|
Модификатор и Тип | Метод и Описание |
---|---|
float[] |
fromCIEXYZ(float[] colorvalue)
Преобразовывает значение цвета, которое, как предполагают, было в цветовом пространстве преобразования CS_CIEXYZ в этот ColorSpace.
|
float[] |
fromRGB(float[] rgbvalue)
Преобразовывает значение цвета, которое, как предполагают, было в значении по умолчанию цветовое пространство CS_sRGB в этот ColorSpace.
|
float |
getMaxValue(int component)
Возвращает максимальное нормализованное значение компонента цвета для указанного компонента.
|
float |
getMinValue(int component)
Возвращает минимальное нормализованное значение компонента цвета для указанного компонента.
|
ICC_Profile |
getProfile()
Возвращает ICC_Profile для этого ICC_ColorSpace.
|
float[] |
toCIEXYZ(float[] colorvalue)
Преобразовывает значение цвета, которое, как предполагают, было в этом ColorSpace в цветовое пространство преобразования CS_CIEXYZ.
|
float[] |
toRGB(float[] colorvalue)
Преобразовывает значение цвета, которое, как предполагают, было в этом ColorSpace в значение в значении по умолчанию цветовое пространство CS_sRGB.
|
getInstance, getName, getNumComponents, getType, isCS_sRGB
public ICC_ColorSpace(ICC_Profile profile)
profile
- указанный объект ICC_ProfileIllegalArgumentException
- если профиль является несоответствующим для того, чтобы представить ColorSpace.public ICC_Profile getProfile()
public float[] toRGB(float[] colorvalue)
Этот метод преобразовывает значения цвета, используя алгоритмы, разработанные, чтобы произвести лучшее перцепционное соответствие между цветами ввода и вывода. Чтобы сделать колориметрическое преобразование значений цвета, следует использовать toCIEXYZ
метод этого цветового пространства, чтобы сначала преобразовать от входного цветового пространства до цветового пространства CS_CIEXYZ, и затем использовать fromCIEXYZ
метод цветового пространства CS_sRGB, чтобы преобразовать от CS_CIEXYZ до выходного цветового пространства. См. toCIEXYZ
и fromCIEXYZ
для дополнительной информации.
toRGB
в class ColorSpace
colorvalue
- массив плавающий с длиной, по крайней мере, числа компонентов в этом ColorSpace.ArrayIndexOutOfBoundsException
- если длина массива не является, по крайней мере, числом компонентов в этом ColorSpace.public float[] fromRGB(float[] rgbvalue)
Этот метод преобразовывает значения цвета, используя алгоритмы, разработанные, чтобы произвести лучшее перцепционное соответствие между цветами ввода и вывода. Чтобы сделать колориметрическое преобразование значений цвета, следует использовать toCIEXYZ
метод цветового пространства CS_sRGB, чтобы сначала преобразовать от входного цветового пространства до цветового пространства CS_CIEXYZ, и затем использовать fromCIEXYZ
метод этого цветового пространства, чтобы преобразовать от CS_CIEXYZ до выходного цветового пространства. См. toCIEXYZ
и fromCIEXYZ
для дополнительной информации.
fromRGB
в class ColorSpace
rgbvalue
- массив плавающий с длиной по крайней мере 3.ArrayIndexOutOfBoundsException
- если длина массива не по крайней мере 3.public float[] toCIEXYZ(float[] colorvalue)
Этот метод преобразовывает значения цвета, используя относительную колориметрию, как определено Спецификацией ICC. Это означает, что значения XYZ, возвращенные этим методом, представляются относительно белой точки D50 цветового пространства CS_CIEXYZ. Это представление полезно в двухступенчатом цветном процессе преобразования, в который цвета преобразовываются от входного цветового пространства до CS_CIEXYZ и затем к выходному цветовому пространству. Это представление не является тем же самым как значениями XYZ, которые были бы измерены от данного значения цвета колориметром. Дальнейшее преобразование необходимо, чтобы вычислить значения XYZ, которые были бы измерены, используя текущий CIE, рекомендуемый методы. Абзацы ниже объясняют это более подробно.
Стандарт ICC использует независимое от устройств цветовое пространство (DICS) в качестве механизма для того, чтобы преобразовать цвет с одного устройства на другое устройство. В этой архитектуре цвета преобразовываются с исходного цветового пространства устройства на ICC DICS и затем от ICC DICS к целевому цветовому пространству устройства. Стандарт ICC определяет профили устройства, которые содержат, преобразовывает, который преобразует между цветовым пространством устройства и ICC DICS. Полное преобразование цветов от исходного устройства до цветов целевого устройства делается, соединяя device-to-DICS, преобразовывают профиля для исходного устройства к DICS к устройству, преобразовывают профиля для целевого устройства. Поэтому ICC DICS обычно упоминается как пространство соединения профиля (PCS). Цветовое пространство, используемое в методах toCIEXYZ и fromCIEXYZ, является PCS CIEXYZ, определенным Спецификацией ICC. Это - также цветовое пространство, представленное ColorSpace. CS_CIEXYZ.
Значения XYZ цвета часто представляются как относительно некоторой белой точки, таким образом, фактическое значение значений XYZ не может быть известно, не зная белой точки тех значений. Это известно как относительная колориметрия. PCS использует белую точку D50, таким образом, значения XYZ PCS относительно D50. Например, белый в PCS будет иметь значения XYZ D50, который определяется, чтобы быть X =. 9642, Y=1.000, и Z=0.8249. Эта белая точка обычно используется для графических приложений искусств, но другие часто используются в других приложениях.
Чтобы определить количество цветных характеристик устройства, таких как принтер или монитор, измерения значений XYZ для определенных цветов устройства обычно делаются. В целях этого обсуждения устройство термина, которое оценивает XYZ, используется, чтобы означать значения XYZ, которые были бы измерены от цветов устройства, используя текущий CIE, рекомендуемый методы.
Преобразование между устройством значения XYZ и PCS значения XYZ, возвращенные этим методом, соответствует преобразованию между цветовым пространством устройства, как представлено CIE колориметрические значения, и PCS. Есть много факторов, включенных в этот процесс, некоторые из которых являются довольно тонкими. Самой важной, однако, является корректировка, внесенная, чтобы учесть различия между белой точкой устройства и белой точкой PCS. Есть много методов для того, чтобы сделать это, и это - предмет большого текущего исследования и противоречия. Некоторые обычно используемые методы являются масштабированием XYZ, фон Крис преобразовывают, и Брэдфордское преобразование. Надлежащий метод, чтобы использовать зависит от каждого определенного приложения.
Самый простой метод является масштабированием XYZ. В этом методе каждое устройство значение XYZ преобразовывается в PCS значение XYZ, умножая это отношением белой точки PCS (D50) к белой точке устройства.
Xd, Yd, Zd are the device XYZ values Xdw, Ydw, Zdw are the device XYZ white point values Xp, Yp, Zp are the PCS XYZ values Xd50, Yd50, Zd50 are the PCS XYZ white point values Xp = Xd * (Xd50 / Xdw) Yp = Yd * (Yd50 / Ydw) Zp = Zd * (Zd50 / Zdw)
Преобразование с PCS на устройство было бы сделано, инвертируя эти уравнения:
Xd = Xp * (Xdw / Xd50) Yd = Yp * (Ydw / Yd50) Zd = Zp * (Zdw / Zd50)
Отметьте, что тег белой точки носителей в профиле ICC не является тем же самым как белой точкой устройства. Тег белой точки носителей выражается в значениях PCS и используется, чтобы представить различие между XYZ источника света устройства и XYZ носителей устройства когда измерено под тем источником света. Белая точка устройства выражается как устройство значения XYZ, соответствующие белому выведенный на экран на устройстве. Например, отображение цвета RGB (1.0, 1.0, 1.0) на sRGB устройстве приведет к измеренному устройству значение XYZ D65. Это не будет тем же самым как тегом белой точки носителей значение XYZ в профиле ICC для sRGB устройства.
toCIEXYZ
в class ColorSpace
colorvalue
- массив плавающий с длиной, по крайней мере, числа компонентов в этом ColorSpace.ArrayIndexOutOfBoundsException
- если длина массива не является, по крайней мере, числом компонентов в этом ColorSpace.public float[] fromCIEXYZ(float[] colorvalue)
Этот метод преобразовывает значения цвета, используя относительную колориметрию, как определено Спецификацией ICC. Это означает, что значения аргументов XYZ, взятые этим методом, представляются относительно белой точки D50 цветового пространства CS_CIEXYZ. Это представление полезно в двухступенчатом цветном процессе преобразования, в который цвета преобразовываются от входного цветового пространства до CS_CIEXYZ и затем к выходному цветовому пространству. Значения цвета, возвращенные этим методом, не являются теми, которые произвели бы значение XYZ, которое передают для метода когда измерено колориметром. Если у Вас есть значения XYZ, соответствующие измерениям, сделанным, используя текущий CIE, рекомендуемый методы, они должны быть преобразованы в относительные значения D50 прежде, чем быть переданным к этому методу. Абзацы ниже объясняют это более подробно.
Стандарт ICC использует независимое от устройств цветовое пространство (DICS) в качестве механизма для того, чтобы преобразовать цвет с одного устройства на другое устройство. В этой архитектуре цвета преобразовываются с исходного цветового пространства устройства на ICC DICS и затем от ICC DICS к целевому цветовому пространству устройства. Стандарт ICC определяет профили устройства, которые содержат, преобразовывает, который преобразует между цветовым пространством устройства и ICC DICS. Полное преобразование цветов от исходного устройства до цветов целевого устройства делается, соединяя device-to-DICS, преобразовывают профиля для исходного устройства к DICS к устройству, преобразовывают профиля для целевого устройства. Поэтому ICC DICS обычно упоминается как пространство соединения профиля (PCS). Цветовое пространство, используемое в методах toCIEXYZ и fromCIEXYZ, является PCS CIEXYZ, определенным Спецификацией ICC. Это - также цветовое пространство, представленное ColorSpace. CS_CIEXYZ.
Значения XYZ цвета часто представляются как относительно некоторой белой точки, таким образом, фактическое значение значений XYZ не может быть известно, не зная белой точки тех значений. Это известно как относительная колориметрия. PCS использует белую точку D50, таким образом, значения XYZ PCS относительно D50. Например, белый в PCS будет иметь значения XYZ D50, который определяется, чтобы быть X =. 9642, Y=1.000, и Z=0.8249. Эта белая точка обычно используется для графических приложений искусств, но другие часто используются в других приложениях.
Чтобы определить количество цветных характеристик устройства, таких как принтер или монитор, измерения значений XYZ для определенных цветов устройства обычно делаются. В целях этого обсуждения устройство термина, которое оценивает XYZ, используется, чтобы означать значения XYZ, которые были бы измерены от цветов устройства, используя текущий CIE, рекомендуемый методы.
Преобразование между устройством значения XYZ и PCS значения XYZ, принятые как параметры этим методом, соответствует преобразованию между цветовым пространством устройства, как представлено CIE колориметрические значения, и PCS. Есть много факторов, включенных в этот процесс, некоторые из которых являются довольно тонкими. Самой важной, однако, является корректировка, внесенная, чтобы учесть различия между белой точкой устройства и белой точкой PCS. Есть много методов для того, чтобы сделать это, и это - предмет большого текущего исследования и противоречия. Некоторые обычно используемые методы являются масштабированием XYZ, фон Крис преобразовывают, и Брэдфордское преобразование. Надлежащий метод, чтобы использовать зависит от каждого определенного приложения.
Самый простой метод является масштабированием XYZ. В этом методе каждое устройство значение XYZ преобразовывается в PCS значение XYZ, умножая это отношением белой точки PCS (D50) к белой точке устройства.
Xd, Yd, Zd are the device XYZ values Xdw, Ydw, Zdw are the device XYZ white point values Xp, Yp, Zp are the PCS XYZ values Xd50, Yd50, Zd50 are the PCS XYZ white point values Xp = Xd * (Xd50 / Xdw) Yp = Yd * (Yd50 / Ydw) Zp = Zd * (Zd50 / Zdw)
Преобразование с PCS на устройство было бы сделано, инвертируя эти уравнения:
Xd = Xp * (Xdw / Xd50) Yd = Yp * (Ydw / Yd50) Zd = Zp * (Zdw / Zd50)
Отметьте, что тег белой точки носителей в профиле ICC не является тем же самым как белой точкой устройства. Тег белой точки носителей выражается в значениях PCS и используется, чтобы представить различие между XYZ источника света устройства и XYZ носителей устройства когда измерено под тем источником света. Белая точка устройства выражается как устройство значения XYZ, соответствующие белому выведенный на экран на устройстве. Например, отображение цвета RGB (1.0, 1.0, 1.0) на sRGB устройстве приведет к измеренному устройству значение XYZ D65. Это не будет тем же самым как тегом белой точки носителей значение XYZ в профиле ICC для sRGB устройства.
fromCIEXYZ
в class ColorSpace
colorvalue
- массив плавающий с длиной по крайней мере 3.ArrayIndexOutOfBoundsException
- если длина массива не по крайней мере 3.public float getMinValue(int component)
getMinValue
в class ColorSpace
component
- Компонент индексирует.IllegalArgumentException
- если компонент - меньше чем 0 или больше чем numComponents - 1.public float getMaxValue(int component)
getMaxValue
в class ColorSpace
component
- Компонент индексирует.IllegalArgumentException
- если компонент - меньше чем 0 или больше чем numComponents - 1.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92