JavaTM 2 Platform
Standard Ed. 6

java.awt.image
類別 ComponentSampleModel

java.lang.Object
  繼承者 java.awt.image.SampleModel
      繼承者 java.awt.image.ComponentSampleModel
直接已知子類別:
BandedSampleModel, PixelInterleavedSampleModel

public class ComponentSampleModel
extends SampleModel

此類別表示按每個像素樣本佔用 DataBuffer 中一個資料元素的方式存儲的圖像資料。它可存儲 N 個樣本,這 N 個樣本可通過 N 個獨立的資料陣列元素組成像素。不同的 band 可能位於 DataBuffer 的不同存儲單元中。由於提供了存取方法,因此可以直接對圖像資料進行操作。此類別可以支持不同型別的交錯,如 band 交錯、掃瞄行交錯和像素交錯等。像素間距是同一掃瞄行上同一 band 的兩個樣本之間的資料陣列元素數。掃瞄行間距是給定樣本與下一掃瞄行的同一列中對應樣本之間的資料陣列元素數。band 偏移量表示從保存每個 band 的 DataBuffer 存儲單元第一個資料陣列元素到 band 第一個樣本之間的資料陣列元素數。band 從 0 到 N-1 進行編號。此類別可以表示以下圖像資料:每個樣本都是可以按 8、16 或 32 位存儲的無符號整數的圖像資料(分別使用 DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INT)、每個樣本都是可以按 16 位存儲的有符號整數的圖像資料(使用 DataBuffer.TYPE_SHORT)、每個樣本都是有符號 float 和 double 量的圖像資料(分別使用 DataBuffer.TYPE_FLOATDataBuffer.TYPE_DOUBLE)。所有給定的 ComponentSampleModel 樣本都是以同樣的精度存儲的。所有間距和偏移量必須為非負數。此類別支持 TYPE_BYTETYPE_USHORTTYPE_SHORTTYPE_INTTYPE_FLOATTYPE_DOUBLE

另請參見:
PixelInterleavedSampleModel, BandedSampleModel

欄位摘要
protected  int[] bandOffsets
          資料陣列元素中所有 band 的偏移量。
protected  int[] bankIndices
          各個存儲圖像資料 band 的存儲單元的索引。
protected  int numBands
          此 ComponentSampleModel 中的 band 數量。
protected  int numBanks
          此 ComponentSampleModel 中的存儲單元數量。
protected  int pixelStride
          由此 ComponentSampleModel 所描述的圖像資料區域的像素間距(以資料陣列元素表示)。
protected  int scanlineStride
          由此 ComponentSampleModel 所描述的圖像資料區域的行間距(以資料陣列元素表示)。
 
從類別 java.awt.image.SampleModel 繼承的欄位
dataType, height, width
 
建構子摘要
ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets)
          建構具有指定參數的 ComponentSampleModel。
ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bankIndices, int[] bandOffsets)
          建構具有指定參數的 ComponentSampleModel。
 
方法摘要
 SampleModel createCompatibleSampleModel(int w, int h)
          創建具有指定寬度和高度的 ComponentSampleModel
 DataBuffer createDataBuffer()
          創建對應於此 ComponentSampleModelDataBuffer
 SampleModel createSubsetSampleModel(int[] bands)
          創建具有此 ComponentSampleModel 的 band 子集的新 ComponentSampleModel。
 boolean equals(Object o)
          指示其他某個物件是否與此物件「相等」。
 int[] getBandOffsets()
          返回所有 band 的 band 偏移量。
 int[] getBankIndices()
          返回所有 band 的存儲單元索引。
 Object getDataElements(int x, int y, Object obj, DataBuffer data)
          以 TransferType 型別基本陣列形式返回單個像素的資料。
 int getNumDataElements()
          返回使用 getDataElements(int, int, Object, DataBuffer)setDataElements(int, int, Object, DataBuffer) 方法傳輸像素所需的資料元素的數量。
 int getOffset(int x, int y)
          獲取像素 (x,y) 的第一個 band 的偏移量。
 int getOffset(int x, int y, int b)
          獲取像素 (x,y) 的 band b 的偏移量。
 int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
          返回對應 int 陣列中指定像素的所有樣本,每個陣列元素對應一個樣本。
 int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
          返回對應 int 陣列中像素指定矩形區域的所有樣本(每個陣列元素對應一個樣本)。
 int getPixelStride()
          返回此 ComponentSampleModel 的像素間距。
 int getSample(int x, int y, int b, DataBuffer data)
          以 int 形式返回指定 band 中對應於 (x,y) 處像素的樣本。
 double getSampleDouble(int x, int y, int b, DataBuffer data)
          以 double 形式返回指定 band 中對應於 (x,y) 處像素的樣本。
 float getSampleFloat(int x, int y, int b, DataBuffer data)
          以 float 形式返回指定 band 中對應於 (x,y) 處像素的樣本。
 int[] getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
          返回指定 band 中對應於 int 陣列中指定像素矩形的樣本,每個資料陣列元素一個樣本。
 int[] getSampleSize()
          返回所有 band 每個樣本的位數。
 int getSampleSize(int band)
          返回指定 band 每個樣本的位數。
 int getScanlineStride()
          返回此 ComponentSampleModel 的掃瞄行間距。
 int hashCode()
          返回該物件的雜湊碼值。
 void setDataElements(int x, int y, Object obj, DataBuffer data)
          根據 TransferType 型別基本陣列設置指定 DataBuffer 中單個像素的資料。
 void setPixel(int x, int y, int[] iArray, DataBuffer data)
          使用輸入樣本的 int 陣列設置 DataBuffer 中的像素。
 void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
          根據 int 陣列(每個陣列元素包含一個樣本)設置對應於像素矩形區域的所有樣本。
 void setSample(int x, int y, int b, double s, DataBuffer data)
          使用輸入的 double 值,在指定 band 中設置對應於 DataBuffer 中 (x,y) 處像素的樣本。
 void setSample(int x, int y, int b, float s, DataBuffer data)
          使用輸入的 float 值,在指定 band 中設置對應於 DataBuffer 中 (x,y) 處像素的樣本。
 void setSample(int x, int y, int b, int s, DataBuffer data)
          使用輸入的 int 值,在指定 band 中設置對應於 DataBuffer 中 (x,y) 處像素的樣本。
 void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
          根據 int 陣列(每個資料陣列元素包含一個樣本),在指定 band 中設置對應於指定像素矩形的樣本。
 
從類別 java.awt.image.SampleModel 繼承的方法
getDataElements, getDataType, getHeight, getNumBands, getPixel, getPixel, getPixels, getPixels, getSamples, getSamples, getTransferType, getWidth, setDataElements, setPixel, setPixel, setPixels, setPixels, setSamples, setSamples
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

bandOffsets

protected int[] bandOffsets
資料陣列元素中所有 band 的偏移量。


bankIndices

protected int[] bankIndices
各個存儲圖像資料 band 的存儲單元的索引。


numBands

protected int numBands
ComponentSampleModel 中的 band 數量。


numBanks

protected int numBanks
ComponentSampleModel 中的存儲單元數量。


scanlineStride

protected int scanlineStride
由此 ComponentSampleModel 所描述的圖像資料區域的行間距(以資料陣列元素表示)。


pixelStride

protected int pixelStride
由此 ComponentSampleModel 所描述的圖像資料區域的像素間距(以資料陣列元素表示)。

建構子詳細資訊

ComponentSampleModel

public ComponentSampleModel(int dataType,
                            int w,
                            int h,
                            int pixelStride,
                            int scanlineStride,
                            int[] bandOffsets)
建構具有指定參數的 ComponentSampleModel。band 數量將由 bandOffsets 陣列的長度給定。所有 band 都將存儲在 DataBuffer 的第一個存儲單元中。

參數:
dataType - 存儲樣本的資料型別
w - 描述的圖像資料區域的寬度(以像素為單位)
h - 描述的圖像資料區域的高度(以像素為單位)
pixelStride - 描述的圖像資料區域的像素間距
scanlineStride - 描述的圖像資料區域的行間距
bandOffsets - 所有 band 的偏移量
拋出:
IllegalArgumentException - 如果 wh 不大於 0
IllegalArgumentException - 如果 pixelStride 小於 0
IllegalArgumentException - 如果 scanlineStride 小於 0
IllegalArgumentException - 如果 numBands 小於 1
IllegalArgumentException - 如果 wh 的乘積大於 Integer.MAX_VALUE
IllegalArgumentException - 如果 dataType 不是受支持的資料型別之一

ComponentSampleModel

public ComponentSampleModel(int dataType,
                            int w,
                            int h,
                            int pixelStride,
                            int scanlineStride,
                            int[] bankIndices,
                            int[] bandOffsets)
建構具有指定參數的 ComponentSampleModel。band 數量將由 bandOffsets 陣列的長度給定。不同的 band 可以存儲在 DataBuffer 的不同存儲單元中。

參數:
dataType - 存儲樣本的資料型別
w - 描述的圖像資料區域的寬度(以像素為單位)
h - 描述的圖像資料區域的高度(以像素為單位)
pixelStride - 描述的圖像資料區域的像素間距
scanlineStride - 描述的圖像資料區域的行間距
bankIndices - 所有 band 的存儲單元索引
bandOffsets - 所有 band 的 band 偏移量
拋出:
IllegalArgumentException - 如果 wh 不大於 0
IllegalArgumentException - 如果 pixelStride 小於 0
IllegalArgumentException - 如果 scanlineStride 小於 0
IllegalArgumentException - 如果 bankIndices 的長度不等於 bankOffsets 的長度
IllegalArgumentException - 如果 bandIndices 的 band 索引中任何一項小於 0
IllegalArgumentException - 如果 dataType 不是受支持的資料型別之一
方法詳細資訊

createCompatibleSampleModel

public SampleModel createCompatibleSampleModel(int w,
                                               int h)
創建具有指定寬度和高度的 ComponentSampleModel。新的 SampleModel 將有與此 SampleModel 相同的 band 數量、存儲資料型別、交錯方案和像素間距。

指定者:
類別 SampleModel 中的 createCompatibleSampleModel
參數:
w - 得到的 SampleModel 的寬度
h - 得到的 SampleModel 的高度
返回:
具有指定大小的 ComponentSampleModel
拋出:
IllegalArgumentException - 如果 wh 不大於 0

createSubsetSampleModel

public SampleModel createSubsetSampleModel(int[] bands)
創建具有此 ComponentSampleModel 的 band 子集的新 ComponentSampleModel。新的 ComponentSampleModel 可以與任何現有 ComponentSampleModel 可與之一起使用的 DataBuffer 一起使用。新的 ComponentSampleModel/DataBuffer 組合表示具有原 ComponentSampleModel/DataBuffer 組合 band 子集的圖像。

指定者:
類別 SampleModel 中的 createSubsetSampleModel
參數:
bands - 此 ComponentSampleModel 的 band 子集
返回:
已創建的具有此 ComponentSampleModel band 子集的 ComponentSampleModel

createDataBuffer

public DataBuffer createDataBuffer()
創建對應於此 ComponentSampleModelDataBufferDataBuffer 物件的資料型別、存儲單元的數量和大小與此 ComponentSampleModel 一致。

指定者:
類別 SampleModel 中的 createDataBuffer
返回:
資料型別、存儲單元的數量和大小與此 ComponentSampleModel 一致的 DataBuffer

getOffset

public int getOffset(int x,
                     int y)
獲取像素 (x,y) 的第一個 band 的偏移量。第一個 band 的樣本可以從具有 ComponentSampleModel csmDataBuffer data 中檢索,如下所示:
        data.getElem(csm.getOffset(x, y));
 

參數:
x - 像素的 X 坐標
y - 像素的 Y 坐標
返回:
指定像素第一個 band 的偏移量。

getOffset

public int getOffset(int x,
                     int y,
                     int b)
獲取像素 (x,y) 的 band b 的偏移量。band b 的樣本可以從具有 ComponentSampleModel csmDataBuffer data 中檢索,如下所示:
       data.getElem(csm.getOffset(x, y, b));
 

參數:
x - 指定像素的 X 坐標
y - 指定像素的 Y 坐標
b - 指定的 band
返回:
指定像素的指定 band 的偏移量。

getSampleSize

public final int[] getSampleSize()
返回所有 band 每個樣本的位數。

指定者:
類別 SampleModel 中的 getSampleSize
返回:
包含所有 band 每樣本位數的陣列,陣列中每個元素都表示一個 band。

getSampleSize

public final int getSampleSize(int band)
返回指定 band 每個樣本的位數。

指定者:
類別 SampleModel 中的 getSampleSize
參數:
band - 指定的 band
返回:
指定 band 每個樣本的位數。

getBankIndices

public final int[] getBankIndices()
返回所有 band 的存儲單元索引。

返回:
所有 band 的存儲單元索引。

getBandOffsets

public final int[] getBandOffsets()
返回所有 band 的 band 偏移量。

返回:
所有 band 的 band 偏移量。

getScanlineStride

public final int getScanlineStride()
返回此 ComponentSampleModel 的掃瞄行間距。

返回:
ComponentSampleModel 的掃瞄行間距。

getPixelStride

public final int getPixelStride()
返回此 ComponentSampleModel 的像素間距。

返回:
ComponentSampleModel 的像素間距。

getNumDataElements

public final int getNumDataElements()
返回使用 getDataElements(int, int, Object, DataBuffer)setDataElements(int, int, Object, DataBuffer) 方法傳輸像素所需的資料元素的數量。對於 ComponentSampleModel,這與 band 的數量相同。

指定者:
類別 SampleModel 中的 getNumDataElements
返回:
使用 getDataElementssetDataElements 方法傳輸像素所需的資料元素的數量。
另請參見:
SampleModel.getNumDataElements(), SampleModel.getNumBands()

getDataElements

public Object getDataElements(int x,
                              int y,
                              Object obj,
                              DataBuffer data)
TransferType 型別基本陣列形式返回單個像素的資料。對於 ComponentSampleModel,返回的資料與 data 型別相同,且每個陣列元素返回一個樣本。通常,obj 應該作為 null 傳入,以便 Object 能自動創建並成為正確的基本資料型別。

以下程式碼說明了如何將像素的資料從 DataBuffer db1(其存儲佈局由 ComponentSampleModel csm1 描述)傳輸到 DataBuffer db2(其存儲佈局由 ComponentSampleModel csm2 描述)。該傳輸通常比使用 getPixelsetPixel 更有效。

             ComponentSampleModel csm1, csm2;
             DataBufferInt db1, db2;
             csm2.setDataElements(x, y,
                            csm1.getDataElements(x, y, null, db1), db2);
 
如果 SampleModel 物件具有相同數量的 band,相應 band 具有相同數量的每樣本位數,並且 TransferType 相同,則使用 getDataElementssetDataElements 在兩個 DataBuffer/SampleModel 對之間傳輸是合法的。

如果 obj 不為 null,則它應該是 TransferType 型別的基本陣列。否則,將拋出 ClassCastException。如果坐標不在邊界內部,或者 obj 不為 null 且不足以保存像素資料,則拋出 ArrayIndexOutOfBoundsException

指定者:
類別 SampleModel 中的 getDataElements
參數:
x - 像素位置的 X 坐標
y - 像素位置的 Y 坐標
obj - 如果為非 null,則是一個要在其中返回像素資料的基本陣列
data - 套件含圖像資料的 DataBuffer
返回:
指定像素的資料
拋出:
NullPointerException - 如果資料為 null。
ArrayIndexOutOfBoundsException - 如果坐標不在邊界內部,或者 obj 太小而不能保存輸出。
另請參見:
setDataElements(int, int, Object, DataBuffer)

getPixel

public int[] getPixel(int x,
                      int y,
                      int[] iArray,
                      DataBuffer data)
返回對應 int 陣列中指定像素的所有樣本,每個陣列元素對應一個樣本。如果坐標不在邊界內部,則拋出 ArrayIndexOutOfBoundsException

覆寫:
類別 SampleModel 中的 getPixel
參數:
x - 像素位置的 X 坐標
y - 像素位置的 Y 坐標
iArray - 如果為非 null,則返回此陣列中的樣本
data - 套件含圖像資料的 DataBuffer
返回:
指定像素的樣本。
拋出:
NullPointerException - 如果資料為 null。
ArrayIndexOutOfBoundsException - 如果坐標不在邊界內部,或者 iArray 太小而不能保存輸出。
另請參見:
setPixel(int, int, int[], DataBuffer)

getPixels

public int[] getPixels(int x,
                       int y,
                       int w,
                       int h,
                       int[] iArray,
                       DataBuffer data)
返回對應 int 陣列中像素指定矩形區域的所有樣本(每個陣列元素對應一個樣本)。如果坐標不在邊界內部,則拋出 ArrayIndexOutOfBoundsException

覆寫:
類別 SampleModel 中的 getPixels
參數:
x - 左上角像素位置的 X 坐標
y - 左上角像素位置的 Y 坐標
w - 像素矩形區域的寬度
h - 像素矩形區域的高度
iArray - 如果為非 null,則返回此陣列中的樣本
data - 套件含圖像資料的 DataBuffer
返回:
指定區域內的像素的樣本。
另請參見:
setPixels(int, int, int, int, int[], DataBuffer)

getSample

public int getSample(int x,
                     int y,
                     int b,
                     DataBuffer data)
以 int 形式返回指定 band 中對應於 (x,y) 處像素的樣本。如果坐標不在邊界內部,則可能拋出 ArrayIndexOutOfBoundsException

指定者:
類別 SampleModel 中的 getSample
參數:
x - 像素位置的 X 坐標
y - 像素位置的 Y 坐標
b - 要返回的 band
data - 套件含圖像資料的 DataBuffer
返回:
指定像素的指定 band 中的樣本
另請參見:
setSample(int, int, int, int, DataBuffer)

getSampleFloat

public float getSampleFloat(int x,
                            int y,
                            int b,
                            DataBuffer data)
以 float 形式返回指定 band 中對應於 (x,y) 處像素的樣本。如果坐標不在邊界內部,則拋出 ArrayIndexOutOfBoundsException

覆寫:
類別 SampleModel 中的 getSampleFloat
參數:
x - 像素位置的 X 坐標
y - 像素位置的 Y 坐標
b - 要返回的 band
data - 套件含圖像資料的 DataBuffer
返回:
表示指定像素的指定 band 中樣本的 float 值。

getSampleDouble

public double getSampleDouble(int x,
                              int y,
                              int b,
                              DataBuffer data)
以 double 形式返回指定 band 中對應於 (x,y) 處像素的樣本。如果坐標不在邊界內部,則拋出 ArrayIndexOutOfBoundsException

覆寫:
類別 SampleModel 中的 getSampleDouble
參數:
x - 像素位置的 X 坐標
y - 像素位置的 Y 坐標
b - 要返回的 band
data - 套件含圖像資料的 DataBuffer
返回:
表示指定像素的指定 band 中樣本的 double 值。

getSamples

public int[] getSamples(int x,
                        int y,
                        int w,
                        int h,
                        int b,
                        int[] iArray,
                        DataBuffer data)
返回指定 band 中對應於 int 陣列中指定像素矩形的樣本,每個資料陣列元素一個樣本。如果坐標不在邊界內部,則拋出 ArrayIndexOutOfBoundsException

覆寫:
類別 SampleModel 中的 getSamples
參數:
x - 左上角像素位置的 X 坐標
y - 左上角像素位置的 Y 坐標
w - 像素矩形區域的寬度
h - 像素矩形區域的高度
b - 要返回的 band
iArray - 如果為非 null,則返回此陣列中的樣本
data - 套件含圖像資料的 DataBuffer
返回:
指定像素的指定 band 中的樣本
另請參見:
setSamples(int, int, int, int, int, int[], DataBuffer)

setDataElements

public void setDataElements(int x,
                            int y,
                            Object obj,
                            DataBuffer data)
根據 TransferType 型別基本陣列設置指定 DataBuffer 中單個像素的資料。對於 ComponentSampleModel,設置的資料與 data 型別相同,且每個陣列元素傳輸一個樣本。

以下程式碼說明了如何將像素的資料從 DataBuffer db1(其存儲佈局由 ComponentSampleModel csm1 描述)傳輸到 DataBuffer db2(其存儲佈局由 ComponentSampleModel csm2 描述)。該傳輸通常比使用 getPixelsetPixel 更有效。

             ComponentSampleModel csm1, csm2;
             DataBufferInt db1, db2;
             csm2.setDataElements(x, y, csm1.getDataElements(x, y, null, db1),
                            db2);
 
如果 SampleModel 物件具有相同數量的 band,相應 band 具有相同數量的每樣本位數,並且 TransferType 相同,則使用 getDataElementssetDataElements 在兩個 DataBuffer/SampleModel 對之間傳輸是合法的。

如果 obj 不是 TransferType 型別基本陣列,則返回 ClassCastException。如果坐標不在邊界內部,或者 obj 不足以保存像素資料,則拋出 ArrayIndexOutOfBoundsException

指定者:
類別 SampleModel 中的 setDataElements
參數:
x - 像素位置的 X 坐標
y - 像素位置的 Y 坐標
obj - 套件含像素資料的基本陣列
data - 套件含圖像資料的 DataBuffer
另請參見:
getDataElements(int, int, Object, DataBuffer)

setPixel

public void setPixel(int x,
                     int y,
                     int[] iArray,
                     DataBuffer data)
使用輸入樣本的 int 陣列設置 DataBuffer 中的像素。如果坐標不在邊界內部,則拋出 ArrayIndexOutOfBoundsException

覆寫:
類別 SampleModel 中的 setPixel
參數:
x - 像素位置的 X 坐標
y - 像素位置的 Y 坐標
iArray - int 陣列形式的輸入樣本
data - 套件含圖像資料的 DataBuffer
另請參見:
getPixel(int, int, int[], DataBuffer)

setPixels

public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      int[] iArray,
                      DataBuffer data)
根據 int 陣列(每個陣列元素包含一個樣本)設置對應於像素矩形區域的所有樣本。如果坐標不在邊界內部,則拋出 ArrayIndexOutOfBoundsException

覆寫:
類別 SampleModel 中的 setPixels
參數:
x - 像素位置左上角的 X 坐標
y - 像素位置左上角的 Y 坐標
w - 像素矩形區域的寬度
h - 像素矩形區域的高度
iArray - int 陣列形式的輸入樣本
data - 套件含圖像資料的 DataBuffer
另請參見:
getPixels(int, int, int, int, int[], DataBuffer)

setSample

public void setSample(int x,
                      int y,
                      int b,
                      int s,
                      DataBuffer data)
使用輸入的 int 值,在指定 band 中設置對應於 DataBuffer 中 (x,y) 處像素的樣本。如果坐標不在邊界內部,則拋出 ArrayIndexOutOfBoundsException

指定者:
類別 SampleModel 中的 setSample
參數:
x - 像素位置的 X 坐標
y - 像素位置的 Y 坐標
b - 要設置的 band
s - int 型別的輸入樣本
data - 套件含圖像資料的 DataBuffer
另請參見:
getSample(int, int, int, DataBuffer)

setSample

public void setSample(int x,
                      int y,
                      int b,
                      float s,
                      DataBuffer data)
使用輸入的 float 值,在指定 band 中設置對應於 DataBuffer 中 (x,y) 處像素的樣本。如果坐標不在邊界內部,則拋出 ArrayIndexOutOfBoundsException

覆寫:
類別 SampleModel 中的 setSample
參數:
x - 像素位置的 X 坐標
y - 像素位置的 Y 坐標
b - 要設置的 band
s - float 型別的輸入樣本
data - 套件含圖像資料的 DataBuffer
另請參見:
getSample(int, int, int, DataBuffer)

setSample

public void setSample(int x,
                      int y,
                      int b,
                      double s,
                      DataBuffer data)
使用輸入的 double 值,在指定 band 中設置對應於 DataBuffer 中 (x,y) 處像素的樣本。如果坐標不在邊界內部,則拋出 ArrayIndexOutOfBoundsException

覆寫:
類別 SampleModel 中的 setSample
參數:
x - 像素位置的 X 坐標
y - 像素位置的 Y 坐標
b - 要設置的 band
s - double 型別的輸入樣本
data - 套件含圖像資料的 DataBuffer
另請參見:
getSample(int, int, int, DataBuffer)

setSamples

public void setSamples(int x,
                       int y,
                       int w,
                       int h,
                       int b,
                       int[] iArray,
                       DataBuffer data)
根據 int 陣列(每個資料陣列元素包含一個樣本),在指定 band 中設置對應於指定像素矩形的樣本。如果坐標不在邊界內部,則拋出 ArrayIndexOutOfBoundsException

覆寫:
類別 SampleModel 中的 setSamples
參數:
x - 像素位置左上角的 X 坐標
y - 像素位置左上角的 Y 坐標
w - 像素矩形區域的寬度
h - 像素矩形區域的高度
b - 要設置的 band
iArray - int 陣列形式的輸入樣本
data - 套件含圖像資料的 DataBuffer
另請參見:
getSamples(int, int, int, int, int, int[], DataBuffer)

equals

public boolean equals(Object o)
從類別 Object 複製的描述
指示其他某個物件是否與此物件「相等」。

equals 方法在非空(null)物件參考上實作相等關係:

Object 類別的 equals 方法實作物件上差別可能性最大的相等關係;即,對於任何非空(null)參考值 xy,當且僅當 xy 參考同一個物件時,此方法才返回 truex == y 具有值 true)。

注意:當此方法被覆寫時,通常有必要覆寫 hashCode 方法,以維護 hashCode 方法的常規協定,該協定宣告相等物件必須具有相等的雜湊碼。

覆寫:
類別 Object 中的 equals
參數:
o - 要與之比較的參考物件。
返回:
如果此物件與 obj 參數相同,則返回 true;否則返回 false
另請參見:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
從類別 Object 複製的描述
返回該物件的雜湊碼值。支持此方法是為了提高雜湊表(例如 java.util.Hashtable 提供的雜湊表)的性能。

hashCode 的常規協定是:

實際上,由 Object 類別定義的 hashCode 方法確實會針對不同的物件返回不同的整數。(這一般是通過將該物件的內部位址轉換成一個整數來實作的,但是 JavaTM 程式語言不需要這種實作技巧。)

覆寫:
類別 Object 中的 hashCode
返回:
此物件的一個雜湊碼值。
另請參見:
Object.equals(java.lang.Object), Hashtable

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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