JavaTM 2 Platform
Standard Ed. 6

java.awt.image
類別 DataBuffer

java.lang.Object
  繼承者 java.awt.image.DataBuffer
直接已知子類別:
DataBufferByte, DataBufferDouble, DataBufferFloat, DataBufferInt, DataBufferShort, DataBufferUShort

public abstract class DataBuffer
extends Object

此類別用於包裹一個或多個資料陣列。DataBuffer 中的每個資料陣列都可稱作存儲單元。獲取或設置 DataBuffer 的存儲單元中元素的存取方法可以有也可以沒有存儲單元標識符。沒有存儲單元標識符的方法使用預設的 0 號存儲單元。DataBuffer 可以採用可選的每存儲單元偏移量,以便現有陣列中的資料即使所需資料不是從陣列位置 0 開始也可以使用。要獲取或設置存儲單元的 0 號元素,請使用陣列的 (0+offset) 號元素。size 欄位指定資料陣列中有多少元素可供使用。給定存儲單元的 size + offset 永遠不應該大於相關資料陣列的長度。資料緩衝區的資料型別指示資料陣列的型別,還可以指示其他語義,例如,在位元組陣列的元素中存儲無符號 8 位資料。資料型別可以是 TYPE_UNDEFINED,也可以是下面定義的型別之一。其他型別可以在將來添加。通常,類別 DataBuffer 的物件將強制轉換為其資料型別的特定子類別之一來存取資料型別的特定方法以便改善性能。當前,Java 2D(tm) API 圖像類別使用 TYPE_BYTE、TYPE_USHORT、TYPE_INT、TYPE_SHORT、TYPE_FLOAT 和 TYPE_DOUBLE DataBuffer 存儲圖像資料。

另請參見:
Raster, SampleModel

欄位摘要
protected  int banks
          此 DataBuffer 中存儲單元的數量。
protected  int dataType
          此 DataBuffer 的資料型別。
protected  int offset
          預設(第一個)存儲單元的偏移量,從中可獲得第一個元素。
protected  int[] offsets
          所有存儲單元的偏移量。
protected  int size
          所有存儲單元的可用大小。
static int TYPE_BYTE
          無符號 byte 資料的標記
static int TYPE_DOUBLE
          double 資料的標記。
static int TYPE_FLOAT
          float 資料的標記。
static int TYPE_INT
          int 資料的標記。
static int TYPE_SHORT
          有符號 short 資料的標記。
static int TYPE_UNDEFINED
          未定義資料的標記。
static int TYPE_USHORT
          無符號 short 資料的標記
 
建構子摘要
protected DataBuffer(int dataType, int size)
          建構包含一個指定資料型別和大小的存儲單元的 DataBuffer。
protected DataBuffer(int dataType, int size, int numBanks)
          建構包含了指定數量的存儲單元的 DataBuffer。
protected DataBuffer(int dataType, int size, int numBanks, int offset)
          建構包含指定存儲單元數量的 DataBuffer。
protected DataBuffer(int dataType, int size, int numBanks, int[] offsets)
          建構包含指定存儲單元數量的 DataBuffer。
 
方法摘要
 int getDataType()
          返回此 DataBuffer 的資料型別。
static int getDataTypeSize(int type)
          返回由給定 datatype 標記所代表的資料型別的大小(以位為單位)。
 int getElem(int i)
          以整數型別返回第一個(預設)存儲單元中所請求的資料陣列元素。
abstract  int getElem(int bank, int i)
          以整數型別返回指定存儲單元中所請求的資料陣列元素。
 double getElemDouble(int i)
          以 double 型別返回第一個(預設)存儲單元中所請求的資料陣列元素。
 double getElemDouble(int bank, int i)
          以 double 型別返回指定存儲單元所請求的資料陣列元素。
 float getElemFloat(int i)
          以 float 型別返回第一個(預設)存儲單元中所請求的資料陣列元素。
 float getElemFloat(int bank, int i)
          以 float 型別返回指定存儲單元中所請求的資料陣列元素。
 int getNumBanks()
          返回此 DataBuffer 中存儲單元的數量。
 int getOffset()
          返回陣列元素中預設存儲單元的偏移量。
 int[] getOffsets()
          返回所有存儲單元的偏移量(按陣列元素)。
 int getSize()
          返回所有存儲單元的大小(按陣列元素)。
 void setElem(int i, int val)
          根據給定的整數設置第一個(預設)存儲單元中所請求的資料陣列元素。
abstract  void setElem(int bank, int i, int val)
          根據給定的整數設置指定存儲單元中所請求的資料陣列元素。
 void setElemDouble(int i, double val)
          根據給定的 double 設置第一個(預設)存儲單元中所請求的資料陣列元素。
 void setElemDouble(int bank, int i, double val)
          根據給定的 double 設置指定存儲單元中所請求的資料陣列元素。
 void setElemFloat(int i, float val)
          根據給定的 float 設置第一個(預設)存儲單元中所請求的資料陣列元素。
 void setElemFloat(int bank, int i, float val)
          根據給定的 float 設置指定存儲單元中所請求的資料陣列元素。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

TYPE_BYTE

public static final int TYPE_BYTE
無符號 byte 資料的標記

另請參見:
常數欄位值

TYPE_USHORT

public static final int TYPE_USHORT
無符號 short 資料的標記

另請參見:
常數欄位值

TYPE_SHORT

public static final int TYPE_SHORT
有符號 short 資料的標記。供將來使用的佔位符。

另請參見:
常數欄位值

TYPE_INT

public static final int TYPE_INT
int 資料的標記。

另請參見:
常數欄位值

TYPE_FLOAT

public static final int TYPE_FLOAT
float 資料的標記。供將來使用的佔位符。

另請參見:
常數欄位值

TYPE_DOUBLE

public static final int TYPE_DOUBLE
double 資料的標記。供將來使用的佔位符。

另請參見:
常數欄位值

TYPE_UNDEFINED

public static final int TYPE_UNDEFINED
未定義資料的標記。

另請參見:
常數欄位值

dataType

protected int dataType
此 DataBuffer 的資料型別。


banks

protected int banks
此 DataBuffer 中存儲單元的數量。


offset

protected int offset
預設(第一個)存儲單元的偏移量,從中可獲得第一個元素。


size

protected int size
所有存儲單元的可用大小。


offsets

protected int[] offsets
所有存儲單元的偏移量。

建構子詳細資訊

DataBuffer

protected DataBuffer(int dataType,
                     int size)
建構包含一個指定資料型別和大小的存儲單元的 DataBuffer。

參數:
dataType - 此 DataBuffer 的資料型別
size - 存儲單元的大小

DataBuffer

protected DataBuffer(int dataType,
                     int size,
                     int numBanks)
建構包含了指定數量的存儲單元的 DataBuffer。每個存儲單元都有指定的大小和 0 偏移量。

參數:
dataType - 此 DataBuffer 的資料型別
size - 存儲單元的大小
numBanks - 此 DataBuffer 中存儲單元的數量。

DataBuffer

protected DataBuffer(int dataType,
                     int size,
                     int numBanks,
                     int offset)
建構包含指定存儲單元數量的 DataBuffer。每個存儲單元都有指定的資料型別、大小和偏移量。

參數:
dataType - 此 DataBuffer 的資料型別
size - 存儲單元的大小
numBanks - 此 DataBuffer 中存儲單元的數量
offset - 每個存儲單元的偏移量

DataBuffer

protected DataBuffer(int dataType,
                     int size,
                     int numBanks,
                     int[] offsets)
建構包含指定存儲單元數量的 DataBuffer。每個存儲單元都有指定的資料型別和大小。每個存儲單元的偏移量由其各自在偏移量陣列中的項指定。

參數:
dataType - 此 DataBuffer 的資料型別
size - 存儲單元的大小
numBanks - 此 DataBuffer 中的存儲單元數
offsets - 套件含每個存儲單元的偏移量的陣列。
拋出:
ArrayIndexOutOfBoundsException - 如果 numBanks 不等於 offsets 的長度
方法詳細資訊

getDataTypeSize

public static int getDataTypeSize(int type)
返回由給定 datatype 標記所代表的資料型別的大小(以位為單位)。

參數:
type - 已定義的 datatype 標記之一的值
返回:
資料型別的大小
拋出:
IllegalArgumentException - 如果 type 小於零或大於 TYPE_DOUBLE

getDataType

public int getDataType()
返回此 DataBuffer 的資料型別。

返回:
DataBuffer 的資料型別。

getSize

public int getSize()
返回所有存儲單元的大小(按陣列元素)。

返回:
所有存儲單元的大小。

getOffset

public int getOffset()
返回陣列元素中預設存儲單元的偏移量。

返回:
預設存儲單元的偏移量。

getOffsets

public int[] getOffsets()
返回所有存儲單元的偏移量(按陣列元素)。

返回:
所有存儲單元的偏移量。

getNumBanks

public int getNumBanks()
返回此 DataBuffer 中存儲單元的數量。

返回:
存儲單元的數量。

getElem

public int getElem(int i)
以整數型別返回第一個(預設)存儲單元中所請求的資料陣列元素。

參數:
i - 所請求的資料陣列元素的索引
返回:
指定索引處的資料陣列元素。
另請參見:
setElem(int, int), setElem(int, int, int)

getElem

public abstract int getElem(int bank,
                            int i)
以整數型別返回指定存儲單元中所請求的資料陣列元素。

參數:
bank - 指定的存儲單元
i - 所請求的資料陣列元素的索引
返回:
在指定索引處的指定存儲單元中指定索引處的資料陣列元素。
另請參見:
setElem(int, int), setElem(int, int, int)

setElem

public void setElem(int i,
                    int val)
根據給定的整數設置第一個(預設)存儲單元中所請求的資料陣列元素。

參數:
i - 資料陣列中的指定索引
val - 用來在資料陣列中指定索引處設置元素的資料
另請參見:
getElem(int), getElem(int, int)

setElem

public abstract void setElem(int bank,
                             int i,
                             int val)
根據給定的整數設置指定存儲單元中所請求的資料陣列元素。

參數:
bank - 指定的存儲單元
i - 資料陣列中的指定索引
val - 用來在資料陣列中指定索引處的指定存儲單元中設置元素的資料
另請參見:
getElem(int), getElem(int, int)

getElemFloat

public float getElemFloat(int i)
以 float 型別返回第一個(預設)存儲單元中所請求的資料陣列元素。此類別中的實作是將 getElem(i) 強制轉換為 float。如果需要其他實作,則子類別可以覆寫此方法。

參數:
i - 所請求的資料陣列元素的索引
返回:
表示指定索引處資料陣列元素的 float 值。
另請參見:
setElemFloat(int, float), setElemFloat(int, int, float)

getElemFloat

public float getElemFloat(int bank,
                          int i)
以 float 型別返回指定存儲單元中所請求的資料陣列元素。此類別中的實作是將 getElem(int, int) 強制轉換為 float。如果需要其他實作,則子類別可以覆寫此方法。

參數:
bank - 指定的存儲單元
i - 所請求的資料陣列元素的索引
返回:
表示指定索引處指定存儲單元中的資料陣列元素的 float 值。
另請參見:
setElemFloat(int, float), setElemFloat(int, int, float)

setElemFloat

public void setElemFloat(int i,
                         float val)
根據給定的 float 設置第一個(預設)存儲單元中所請求的資料陣列元素。此類別中的實作是將 val 強制轉換為 int 並調用 setElem(int, int)。如果需要其他實作,則子類別可以覆寫此方法。

參數:
i - 指定的索引
val - 用來在資料陣列中指定索引處設置元素的值
另請參見:
getElemFloat(int), getElemFloat(int, int)

setElemFloat

public void setElemFloat(int bank,
                         int i,
                         float val)
根據給定的 float 設置指定存儲單元中所請求的資料陣列元素。此類別中的實作是將 val 強制轉換為 int 並調用 setElem(int, int)。如果需要其他實作,則子類別可以覆寫此方法。

參數:
bank - 指定的存儲單元
i - 指定的索引
val - 用來在資料陣列中指定索引處的指定存儲單元中設置元素的值
另請參見:
getElemFloat(int), getElemFloat(int, int)

getElemDouble

public double getElemDouble(int i)
以 double 型別返回第一個(預設)存儲單元中所請求的資料陣列元素。此類別中的實作是將 getElem(int) 強制轉換為 double。如果需要其他實作,則子類別可以覆寫此方法。

參數:
i - 指定的索引
返回:
代表資料陣列中指定索引處的元素的 double。
另請參見:
setElemDouble(int, double), setElemDouble(int, int, double)

getElemDouble

public double getElemDouble(int bank,
                            int i)
以 double 型別返回指定存儲單元所請求的資料陣列元素。此類別中的實作是將 getElem(bank, i) 強制轉換為 double。如果需要其他實作,則子類別可以覆寫此方法。

參數:
bank - 指定的存儲單元
i - 指定的索引
返回:
表示資料陣列中指定索引處的指定存儲單元中元素的 double 值。
另請參見:
setElemDouble(int, double), setElemDouble(int, int, double)

setElemDouble

public void setElemDouble(int i,
                          double val)
根據給定的 double 設置第一個(預設)存儲單元中所請求的資料陣列元素。此類別中的實作是將 val 強制轉換為 int 並調用 setElem(int, int)。如果需要其他實作,則子類別可以覆寫此方法。

參數:
i - 指定的索引
val - 用來在資料陣列中的指定索引處設置元素的值
另請參見:
getElemDouble(int), getElemDouble(int, int)

setElemDouble

public void setElemDouble(int bank,
                          int i,
                          double val)
根據給定的 double 設置指定存儲單元中所請求的資料陣列元素。此類別中的實作是將 val 強制轉換為 int 並調用 setElem(int, int)。如果需要其他實作,則子類別可以覆寫此方法。

參數:
bank - 指定的存儲單元
i - 指定的索引
val - 用來在資料陣列的指定存儲單元中的指定索引處進行設置的數值
另請參見:
getElemDouble(int), getElemDouble(int, int)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only