|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.color.ColorSpace
public abstract class ColorSpace
此抽象類別用做一個顏色空間標記,標識 Color 物件的特定顏色空間,或者通過 ColorModel 物件標識 Image、BufferedImage 或 GraphicsDevice 的特定顏色空間。此類別包含了可將指定顏色空間中的顏色與 sRGB 和定義良好的 CIEXYZ 顏色空間中的顏色進行相互轉換的方法。
對於此類別中的各個方法,顏色以顏色份量陣列表示,顏色份量則是以每個 ColorSpace 定義的標準化範圍中的 float 數表示。對於多數 ColorSpace(例如 sRGB)而言,此範圍是 0.0 到 1.0。但是某些 ColorSpace 的顏色份量具有不同的範圍值。此類別提供了查詢每個份量最小和最大標準化值的方法。
定義了多個變數,用來表示顏色空間型別(如 TYPE_RGB、TYPE_XYZ 等等)和特定顏色空間(如 CS_sRGB 和 CS_CIEXYZ)。sRGB 指的是標準的 RGB 顏色空間。有關更多資訊,請參閱 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html。
提供對定義良好的 CIEXYZ 顏色空間相互轉換的方法是為了支持在任意兩個顏色空間之間進行高精確度的變換。使用者期望 ColorSpace(如 ICC_ColorSpace)的特定子類別實作能支持基於基礎平臺顏色管理系統的高性能變換。
toCIEXYZ/fromCIEXYZ 方法使用的 CS_CIEXYZ 空間可以描述如下:
CIEXYZ 觀看照度:200 勒克斯 觀看白色點:CIE D50 介質白色點:“完全反射漫射面”-- D50 介質黑色點:0 勒克斯或 0 反射率 串流光:1% 環繞:介質白色點的 20% 介質說明:反射輸出(例如,RLAB,Hunt 觀看介質) 註:對於要為此變換空間創建 ICC 配置檔案的開發人員,可採用下列方法。使用簡單的 Von Kries 適用網要將白色點放入 3X3 的矩陣參數中;將串流光和環繞效果放入三個一維檢索表中(假定每個表都使用了監視器最低限度的模型)。
ICC_ColorSpace
,
序列化表格欄位摘要 | |
---|---|
static int |
CS_CIEXYZ
上面定義的 CIEXYZ 變換顏色空間。 |
static int |
CS_GRAY
內置的線性灰度顏色空間。 |
static int |
CS_LINEAR_RGB
內置的線性 RGB 顏色空間。 |
static int |
CS_PYCC
Photo YCC 變換顏色空間。 |
static int |
CS_sRGB
sRGB 顏色空間的定義位於 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html。 |
static int |
TYPE_2CLR
Generic 2 份量顏色空間。 |
static int |
TYPE_3CLR
Generic 3 份量顏色空間。 |
static int |
TYPE_4CLR
Generic 4 份量顏色空間。 |
static int |
TYPE_5CLR
Generic 5 份量顏色空間。 |
static int |
TYPE_6CLR
Generic 6 份量顏色空間。 |
static int |
TYPE_7CLR
Generic 7 份量顏色空間。 |
static int |
TYPE_8CLR
Generic 8 份量顏色空間。 |
static int |
TYPE_9CLR
Generic 9 份量顏色空間。 |
static int |
TYPE_ACLR
Generic 10 份量顏色空間。 |
static int |
TYPE_BCLR
Generic 11 份量顏色空間。 |
static int |
TYPE_CCLR
Generic 12 份量顏色空間。 |
static int |
TYPE_CMY
CMY 顏色空間的任意顏色系列。 |
static int |
TYPE_CMYK
CMYK 顏色空間的任意顏色系列。 |
static int |
TYPE_DCLR
Generic 13 份量顏色空間。 |
static int |
TYPE_ECLR
Generic 14 份量顏色空間。 |
static int |
TYPE_FCLR
Generic 15 份量顏色空間。 |
static int |
TYPE_GRAY
GRAY 顏色空間的任意顏色系列。 |
static int |
TYPE_HLS
HLS 顏色空間的任意顏色系列。 |
static int |
TYPE_HSV
HSV 顏色空間的任意顏色系列。 |
static int |
TYPE_Lab
Lab 顏色空間的任意顏色系列。 |
static int |
TYPE_Luv
Luv 顏色空間的任意顏色系列。 |
static int |
TYPE_RGB
RGB 顏色空間的任意顏色系列。 |
static int |
TYPE_XYZ
XYZ 顏色空間的任意顏色系列。 |
static int |
TYPE_YCbCr
YCbCr 顏色空間的任意顏色系列。 |
static int |
TYPE_Yxy
Yxy 顏色空間的任意顏色系列。 |
建構子摘要 | |
---|---|
protected |
ColorSpace(int type,
int numcomponents)
建構一個給定顏色空間型別和份量數的 ColorSpace。 |
方法摘要 | |
---|---|
abstract float[] |
fromCIEXYZ(float[] colorvalue)
將假定為 CS_CIEXYZ 變換顏色空間中的顏色值轉換成此 ColorSpace 中的值。 |
abstract float[] |
fromRGB(float[] rgbvalue)
將假定為預設 CS_sRGB 顏色空間中的顏色值轉換成此 ColorSpace 中的值。 |
static ColorSpace |
getInstance(int colorspace)
返回表示特定於預定義顏色空間之一的 ColorSpace。 |
float |
getMaxValue(int component)
返回指定份量的最大標準化顏色份量值。 |
float |
getMinValue(int component)
返回指定份量的最小標準化顏色份量值。 |
String |
getName(int idx)
返回給定份量索引處的份量名稱。 |
int |
getNumComponents()
返回此 ColorSpace 的份量數。 |
int |
getType()
返回此 ColorSpace 的顏色空間型別(例如 TYPE_RGB、TYPE_XYZ……)。 |
boolean |
isCS_sRGB()
如果 ColorSpace 是 CS_sRGB,則返回 true。 |
abstract float[] |
toCIEXYZ(float[] colorvalue)
將假定為此 ColorSpace 中的顏色值轉換成 CS_CIEXYZ 變換顏色空間中的值。 |
abstract float[] |
toRGB(float[] colorvalue)
將假定為此 ColorSpace 中的顏色值轉換成預設 CS_sRGB 顏色空間中的值。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
public static final int TYPE_XYZ
public static final int TYPE_Lab
public static final int TYPE_Luv
public static final int TYPE_YCbCr
public static final int TYPE_Yxy
public static final int TYPE_RGB
public static final int TYPE_GRAY
public static final int TYPE_HSV
public static final int TYPE_HLS
public static final int TYPE_CMYK
public static final int TYPE_CMY
public static final int TYPE_2CLR
public static final int TYPE_3CLR
public static final int TYPE_4CLR
public static final int TYPE_5CLR
public static final int TYPE_6CLR
public static final int TYPE_7CLR
public static final int TYPE_8CLR
public static final int TYPE_9CLR
public static final int TYPE_ACLR
public static final int TYPE_BCLR
public static final int TYPE_CCLR
public static final int TYPE_DCLR
public static final int TYPE_ECLR
public static final int TYPE_FCLR
public static final int CS_sRGB
public static final int CS_LINEAR_RGB
public static final int CS_CIEXYZ
public static final int CS_PYCC
public static final int CS_GRAY
建構子詳細資訊 |
---|
protected ColorSpace(int type, int numcomponents)
type
- ColorSpace
型別常數之一numcomponents
- 顏色空間中的份量數方法詳細資訊 |
---|
public static ColorSpace getInstance(int colorspace)
colorspace
- 由某個預定義的類別常數標識的特定顏色空間(如 CS_sRGB、CS_LINEAR_RGB、CS_CIEXYZ、CS_GRAY 或 CS_PYCC)
ColorSpace
物件public boolean isCS_sRGB()
CS_sRGB
顏色空間,則返回 true
;如果不是,則返回 false
public abstract float[] toRGB(float[] colorvalue)
此方法使用可在輸入和輸出顏色之間產生最佳感知比對的演算法來轉換顏色值。為了完成顏色值的色度變換,應該首先使用此顏色空間的 toCIEXYZ
方法將顏色值從輸入顏色空間轉換到 CS_CIEXYZ 顏色空間,然後使用 CS_sRGB 顏色空間的 fromCIEXYZ
方法將其從 CS_CIEXYZ 轉換到輸出顏色空間。有關更多資訊,請參閱 toCIEXYZ
和 fromCIEXYZ
。
colorvalue
- 一個長度至少為此 ColorSpace 中份量數的 float 陣列
ArrayIndexOutOfBoundsException
- 如果陣列長度小於此 ColorSpace 中的份量數public abstract float[] fromRGB(float[] rgbvalue)
此方法使用可在輸入和輸出顏色之間產生最佳感知比對的演算法來轉換顏色值。為了完成顏色值的色度變換,應該首先使用 CS_sRGB 顏色空間的 toCIEXYZ
方法將顏色值從輸入顏色空間變換到 CS_CIEXYZ 顏色空間,然後使用此顏色空間的 fromCIEXYZ
方法將其從 CS_CIEXYZ 變換到輸出顏色空間。有關更多資訊,請參閱 toCIEXYZ
和 fromCIEXYZ
。
rgbvalue
- 一個長度至少為 3 的 float 陣列
ArrayIndexOutOfBoundsException
- 如果陣列長度小於 3public abstract float[] toCIEXYZ(float[] colorvalue)
此方法使用相對色度來轉換顏色值,由國際色彩聯盟標準所定義。這意味著此方法所返回的 XYZ 值是用相對於 CS_CIEXYZ 顏色空間的 D50 白色點來表示的。這種表示方法在兩步驟的顏色變換過程中是很有用的,即將輸入顏色空間中的顏色轉換為 CS_CIEXYZ,然後再轉換為輸出顏色空間中的顏色。此表示形式與使用色度計由給定顏色值所測量的 XYZ 值不同。計算使用當前 CIE 推薦的做法所測量的 XYZ 值還需要進一步的轉換。有關更多資訊,請參閱 ICC_ColorSpace
的 toCIEXYZ
方法。
colorvalue
- 一個長度至少為此 ColorSpace 中份量數的 float 陣列
ArrayIndexOutOfBoundsException
- 如果陣列長度小於此 ColorSpace 中的份量數。public abstract float[] fromCIEXYZ(float[] colorvalue)
此方法使用相對色度來轉換顏色值,由國際色彩聯盟標準所定義。這意味著此方法所返回的 XYZ 參數值是用相對於 CS_CIEXYZ 顏色空間的 D50 白色點來表示的。這種表示方法在兩步驟的顏色變換過程中是很有用的,即將輸入顏色空間中的顏色轉換為 CS_CIEXYZ,然後再轉換為輸出顏色空間中的顏色。此方法返回的顏色值與色度計測量時產生並傳遞給方法的 XYZ 值不同。如果 XYZ 值對應於使用當前 CIE 推薦的做法所測量的值,則在將其傳遞給此方法前必須將其轉換成 D50 的相對值。有關更多資訊,請參閱 ICC_ColorSpace
的 fromCIEXYZ
方法。
colorvalue
- 一個長度至少為 3 的 float 陣列
ArrayIndexOutOfBoundsException
- 如果陣列長度小於 3public int getType()
ColorSpace
型別的型別常數public int getNumComponents()
ColorSpace
中的份量數。public String getName(int idx)
idx
- 份量索引
IllegalArgumentException
- 如果 idx
小於 0 或者大於 (numComponents) - 1public float getMinValue(int component)
component
- 份量索引
IllegalArgumentException
- 如果 component 小於 0 或者大於 (numComponents) - 1public float getMaxValue(int component)
component
- 份量索引
IllegalArgumentException
- 如果 component 小於 0 或者大於 numComponents - 1
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。