public abstract class SampleModel extends Object
SampleModel的子类指定可以表示的样本类型(例如无符号8位字节,有符号16位短等),并可以指定样本在内存中的组织方式。 在Java 2D(tm)API中,内置的图像处理操作符可能不会对所有可能的样本类型进行操作,但通常适用于16位或更少的无符号积分样本。 一些操作员支持更多种类的样品。
像素的集合被表示为光栅,其由DataBuffer和SampleModel组成。 SampleModel允许访问DataBuffer中的样本,并可能提供程序员可以直接操作DataBuffer中的样本和像素的低级信息。
这个类通常是用于处理图像的倒退方法。 更高效的代码将将SampleModel转换为适当的子类,并提取直接操作DataBuffer中的像素所需的信息。
| Modifier and Type | Field and Description | 
|---|---|
| protected int | dataType
              存储像素数据的DataBuffer的数据类型。 
             | 
| protected int | height
              该SampleModel描述的图像数据区域的像素高度。 
             | 
| protected int | numBands
              该SampleModel描述的图像数据的频带数。 
             | 
| protected int | width
              此SampleModel描述的图像数据区域的宽度(以像素为单位)。 
             | 
| Constructor and Description | 
|---|
| SampleModel(int dataType, int w, int h, int numBands)
              使用指定的参数构造一个SampleModel。 
             | 
| Modifier and Type | Method and Description | 
|---|---|
| abstract SampleModel | createCompatibleSampleModel(int w, int h)
              创建一个SampleModel,它描述了SampleModel格式的数据,但是具有不同的宽度和高度。 
             | 
| abstract DataBuffer | createDataBuffer()
              创建与此SampleModel对应的DataBuffer。 
             | 
| abstract SampleModel | createSubsetSampleModel(int[] bands)
              使用此SampleModel的一个子带子创建一个新的SampleModel。 
             | 
| Object | getDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
              返回TransferType类型的原始数组中指定的像素矩形的像素数据。 
             | 
| abstract Object | getDataElements(int x, int y, Object obj, DataBuffer data)
              返回TransferType类型的原始数组中单个像素的数据。 
             | 
| int | getDataType()
              返回存储像素数据的DataBuffer的数据类型。 
             | 
| int | getHeight()
              返回高度(以像素为单位)。 
             | 
| int | getNumBands()
              返回图像数据的总带数。 
             | 
| abstract int | getNumDataElements()
              返回通过getDataElements和setDataElements方法传输像素所需的数据元素数。 
             | 
| double[] | getPixel(int x, int y, double[] dArray, DataBuffer data)
              返回double数组中指定像素的样本。 
             | 
| float[] | getPixel(int x, int y, float[] fArray, DataBuffer data)
              返回float数组中指定像素的样本。 
             | 
| int[] | getPixel(int x, int y, int[] iArray, DataBuffer data)
              返回int数组中指定像素的样本,每个数组元素一个样本。 
             | 
| double[] | getPixels(int x, int y, int w, int h, double[] dArray, DataBuffer data)
              返回双阵列中像素矩形的所有样本,每个数组元素一个样本。 
             | 
| float[] | getPixels(int x, int y, int w, int h, float[] fArray, DataBuffer data)
              返回float数组中像素矩形的所有样本,每个数组元素一个样本。 
             | 
| int[] | getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
              返回int数组中像素矩形的所有样本,每个数组元素一个样本。 
             | 
| abstract int | getSample(int x, int y, int b, DataBuffer data)
              将位于(x,y)处的像素的指定带中的样本返回为int。 
             | 
| double | getSampleDouble(int x, int y, int b, DataBuffer data)
              将位于(x,y)的像素的指定带中的样本返回为双倍。 
             | 
| float | getSampleFloat(int x, int y, int b, DataBuffer data)
              将位于(x,y)处的像素的指定带中的样本作为浮点返回。 
             | 
| double[] | getSamples(int x, int y, int w, int h, int b, double[] dArray, DataBuffer data)
              返回双阵列中指定的像素矩形的指定波段的样本,每个数组元素一个样本。 
             | 
| float[] | getSamples(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data)
              返回浮点数组中指定的像素矩形的指定波段的样本,每个数组元素一个样本。 
             | 
| int[] | getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
              返回int数组中指定的像素矩形的指定带的样本,每个数组元素一个样本。 
             | 
| abstract int[] | getSampleSize()
              返回所有频段的采样位数。 
             | 
| abstract int | getSampleSize(int band)
              返回指定波段的采样位的大小。 
             | 
| int | getTransferType()
              返回用于通过getDataElements和setDataElements方法传输像素的TransferType。 
             | 
| int | getWidth()
              返回以像素为单位的宽度。 
             | 
| void | setDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
              从TransferType类型的基本数组中设置指定DataBuffer中像素矩形的数据。 
             | 
| abstract void | setDataElements(int x, int y, Object obj, DataBuffer data)
              从TransferType类型的原始数组中设置指定DataBuffer中单个像素的数据。 
             | 
| void | setPixel(int x, int y, double[] dArray, DataBuffer data)
              在DataBuffer中使用双重样本数组来设置像素。 
             | 
| void | setPixel(int x, int y, float[] fArray, DataBuffer data)
              使用用于输入的样本的浮点数组来设置DataBuffer中的像素。 
             | 
| void | setPixel(int x, int y, int[] iArray, DataBuffer data)
              使用int数组的样本数据来设置DataBuffer中的一个像素。 
             | 
| void | setPixels(int x, int y, int w, int h, double[] dArray, DataBuffer data)
              从包含每个数组元素一个样本的双数组中设置一个像素矩形的所有样本。 
             | 
| void | setPixels(int x, int y, int w, int h, float[] fArray, DataBuffer data)
              从包含每个数组元素一个样本的浮点数组设置一个像素矩形的所有样本。 
             | 
| 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)
              对于位于DataBuffer中(x,y)处的像素的指定带中的样本,使用双倍的输入。 
             | 
| void | setSample(int x, int y, int b, float s, DataBuffer data)
              使用浮点数为DataBuffer设置位于(x,y)处的像素的指定波段的样本。 
             | 
| abstract void | setSample(int x, int y, int b, int s, DataBuffer data)
              使用int作为输入,为DataBuffer中位于(x,y)处的像素的指定波段设置一个样本。 
             | 
| void | setSamples(int x, int y, int w, int h, int b, double[] dArray, DataBuffer data)
              从包含每个数组元素一个样本的双阵列的像素的指定矩形中设置样本。 
             | 
| void | setSamples(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data)
              从包含每个数组元素一个样本的浮点数组中为指定的像素矩形设置指定带中的样本。 
             | 
| void | setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
              从包含每个数组元素一个样本的int数组中为指定的像素矩形设置指定带中的样本。 
             | 
protected int width
protected int height
protected int numBands
protected int dataType
DataBuffer 
           public SampleModel(int dataType,
                   int w,
                   int h,
                   int numBands) 
          dataType - 存储像素数据的DataBuffer的数据类型。 
           w - 图像数据区域的宽度(以像素为单位)。 
           h - 图像数据区域的高度(以像素为单位)。 
           numBands - 图像数据的频带数。 
           IllegalArgumentException - 如果 
            w或 
            h不大于0 
           IllegalArgumentException - 如果 
            w和 
            h的产品大于 
            Integer.MAX_VALUE 
           IllegalArgumentException - 如果 
            dataType不是支持的数据类型之一 
           public final int getWidth()
SampleModel描述的图像数据区域的宽度(以像素为单位)。 
           public final int getHeight()
SampleModel描述的图像数据区域的像素高度。 
           public final int getNumBands()
SampleModel描述的图像数据的频带数。 
           public abstract int getNumDataElements()
public final int getDataType()
public int getTransferType()
public int[] getPixel(int x,
                      int y,
                      int[] iArray,
                      DataBuffer data) 
          x - 像素位置的X坐标 
           y - 像素位置的Y坐标 
           iArray - 如果非空,则返回此数组中的样本 
           data - 包含图像数据的DataBuffer 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界,或者如果iArray太小,不能容纳输出。 
           setPixel(int, int, int[], DataBuffer) 
           public abstract Object getDataElements(int x, int y, Object obj, DataBuffer data)
 以下代码说明了将DataBuffer db1 (其存储布局由SampleModel sm1 )传送到DataBuffer db2的一个像素的数据,DataBuffer db2的存储布局由SampleModel sm2 。 传输通常比使用getPixel / setPixel更有效率。 
  SampleModel sm1, sm2;
       DataBuffer db1, db2;
       sm2.setDataElements(x, y, sm1.getDataElements(x, y, null, db1), db2);  
           如果SampleModels具有相同数量的频带,则使用getDataElements / setDataElements在两个DataBuffer / SampleModel对之间传输是合法的,相应的频带具有与每个样本相同的位数,TransferTypes是相同的。 
           如果obj不为空,则它应该是TransferType类型的原始数组。 否则,抛出ClassCastException。 如果坐标不在边界中,或者如果obj不为空且不够大以容纳像素数据,则可能抛出ArrayIndexOutOfBoundsException。
x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           obj - 如果非空,则返回像素数据的原始数组。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界内,或者obj太小,不能容纳输出。 
           getNumDataElements() , getTransferType() , DataBuffer , setDataElements(int, int, Object, DataBuffer) 
           public Object getDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
 以下代码说明将DataBuffer db1 (其存储布局由SampleModel sm1 )传送到DataBuffer db2的数据矩形区域的数据,DataBuffer db2的存储布局由SampleModel sm2 。 传输通常比使用getPixels / setPixels更有效率。 
  SampleModel sm1, sm2;
       DataBuffer db1, db2;
       sm2.setDataElements(x, y, w, h, sm1.getDataElements(x, y, w,
                           h, null, db1), db2);  
           如果SampleModels具有相同数量的频带,则使用getDataElements / setDataElements在两个DataBuffer / SampleModel对之间传输是合法的,相应的频带具有与每个样本相同的位数,TransferTypes是相同的。 
           如果obj不为空,则它应该是TransferType类型的原始数组。 否则,抛出ClassCastException。 如果坐标不在边界中,或者如果obj不为空且不够大以容纳像素数据,则可能抛出ArrayIndexOutOfBoundsException。
x - 像素矩形的最小X坐标。 
           y - 像素矩形的最小Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           obj - 如果非空,则返回像素数据的原始数组。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不是边界,或者obj太小,不能容纳输出。 
           getNumDataElements() , getTransferType() , setDataElements(int, int, int, int, Object, DataBuffer) , DataBuffer 
           public abstract void setDataElements(int x,
                                     int y,
                                     Object obj,
                                     DataBuffer data) 
           以下代码说明了将DataBuffer db1 (其存储布局由SampleModel sm1 )传送到DataBuffer db2的一个像素的数据,DataBuffer db2的存储布局由SampleModel sm2 。 传输通常比使用getPixel / setPixel更有效率。 
  SampleModel sm1, sm2;
       DataBuffer db1, db2;
       sm2.setDataElements(x, y, sm1.getDataElements(x, y, null, db1),
                           db2);  
           如果SampleModels具有相同数量的频带,则使用getDataElements / setDataElements在两个DataBuffer / SampleModel对之间传输是合法的,相应的频带具有与每个样本相同的位数,TransferTypes是相同的。 
           obj必须是TransferType类型的原始数组。 否则,抛出ClassCastException。 如果坐标不在边界,或者如果obj不够大以容纳像素数据,则可能抛出ArrayIndexOutOfBoundsException。
x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           obj - 包含像素数据的原始数组。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不是边界,或者obj太小,不能容纳输入。 
           getNumDataElements() , getTransferType() , getDataElements(int, int, Object, DataBuffer) , DataBuffer 
           public void setDataElements(int x,
                            int y,
                            int w,
                            int h,
                            Object obj,
                            DataBuffer data) 
           以下代码说明将DataBuffer db1 (其存储布局由SampleModel sm1 )传送到DataBuffer db2的一个矩形区域的数据,DataBuffer db2的存储布局由SampleModel sm2 。 传输通常比使用getPixels / setPixels更有效率。 
  SampleModel sm1, sm2;
       DataBuffer db1, db2;
       sm2.setDataElements(x, y, w, h, sm1.getDataElements(x, y, w, h,
                           null, db1), db2);  
           如果SampleModels具有相同数量的频带,则使用getDataElements / setDataElements在两个DataBuffer / SampleModel对之间传输是合法的,相应的频带具有与每个样本相同的位数,TransferTypes是相同的。 
           obj必须是TransferType类型的原始数组。 否则,抛出ClassCastException。 如果坐标不在边界,或者如果obj不够大以容纳像素数据,则可能抛出ArrayIndexOutOfBoundsException。
x - 像素矩形的最小X坐标。 
           y - 像素矩形的最小Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           obj - 包含像素数据的原始数组。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不是边界,或者obj太小,不能容纳输入。 
           getNumDataElements() , getTransferType() , getDataElements(int, int, int, int, Object, DataBuffer) , DataBuffer 
           public float[] getPixel(int x,
                        int y,
                        float[] fArray,
                        DataBuffer data) 
          x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           fArray - 如果非空,则返回此数组中的样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不是边界,或者如果fArray太小,不能容纳输出。 
           setPixel(int, int, float[], DataBuffer) 
           public double[] getPixel(int x,
                         int y,
                         double[] dArray,
                         DataBuffer data) 
          x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           dArray - 如果非空,则返回此数组中的样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界,或者如果dArray太小,不能容纳输出。 
           setPixel(int, int, double[], DataBuffer) 
           public int[] getPixels(int x,
                       int y,
                       int w,
                       int h,
                       int[] iArray,
                       DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           iArray - 如果非空,则返回此数组中的样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界,或者如果iArray太小,不能容纳输出。 
           setPixels(int, int, int, int, int[], DataBuffer) 
           public float[] getPixels(int x,
                         int y,
                         int w,
                         int h,
                         float[] fArray,
                         DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           fArray - 如果非空,则返回此数组中的样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界,或者如果fArray太小,不能容纳输出。 
           setPixels(int, int, int, int, float[], DataBuffer) 
           public double[] getPixels(int x,
                          int y,
                          int w,
                          int h,
                          double[] dArray,
                          DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           dArray - 如果非空,则返回此数组中的样本。 
           data - 含有图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界,或者如果dArray太小,不能容纳输出。 
           setPixels(int, int, int, int, double[], DataBuffer) 
           public abstract int getSample(int x,
                              int y,
                              int b,
                              DataBuffer data) 
          x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           b - 乐队返回。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内。 
           setSample(int, int, int, int, DataBuffer) 
           public float getSampleFloat(int x,
                            int y,
                            int b,
                            DataBuffer data) 
          x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           b - 乐队返回。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内。 
           public double getSampleDouble(int x,
                              int y,
                              int b,
                              DataBuffer data) 
          x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           b - 乐队返回。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内。 
           public int[] getSamples(int x,
                        int y,
                        int w,
                        int h,
                        int b,
                        int[] iArray,
                        DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           b - 乐队返回。 
           iArray - 如果非空,则返回此数组中的样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内,或者如果iArray太小而不能容纳输出。 
           setSamples(int, int, int, int, int, int[], DataBuffer) 
           public float[] getSamples(int x,
                          int y,
                          int w,
                          int h,
                          int b,
                          float[] fArray,
                          DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           b - 乐队返回。 
           fArray - 如果非空,则返回此数组中的样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内,或者如果fArray太小而不能保存输出。 
           setSamples(int, int, int, int, int, float[], DataBuffer) 
           public double[] getSamples(int x,
                           int y,
                           int w,
                           int h,
                           int b,
                           double[] dArray,
                           DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           b - 乐队返回。 
           dArray - 如果非空,则返回此数组中的样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内,或者如果dArray太小而不能容纳输出。 
           setSamples(int, int, int, int, int, double[], DataBuffer) 
           public void setPixel(int x,
                     int y,
                     int[] iArray,
                     DataBuffer data) 
          x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           iArray - int数组中的输入样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果iArray或数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界,或者如果iArray太小,不能容纳输入。 
           getPixel(int, int, int[], DataBuffer) 
           public void setPixel(int x,
                     int y,
                     float[] fArray,
                     DataBuffer data) 
          x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           fArray - 浮点数组中的输入样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果fArray或数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界内,或者如果fArray太小,不能容纳输入。 
           getPixel(int, int, float[], DataBuffer) 
           public void setPixel(int x,
                     int y,
                     double[] dArray,
                     DataBuffer data) 
          x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           dArray - 双数组中的输入样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果dArray或数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界,或者如果fArray太小,不能容纳输入。 
           getPixel(int, int, double[], DataBuffer) 
           public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      int[] iArray,
                      DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           iArray - int数组中的输入样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果iArray或数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界,或者如果iArray太小,不能容纳输入。 
           getPixels(int, int, int, int, int[], DataBuffer) 
           public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      float[] fArray,
                      DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           fArray - 浮点数组中的输入样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果fArray或数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界,或者如果fArray太小,不能容纳输入。 
           getPixels(int, int, int, int, float[], DataBuffer) 
           public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      double[] dArray,
                      DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           dArray - 双数组中的输入样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果dArray或数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标不在边界,或者如果dArray太小,不能容纳输入。 
           getPixels(int, int, int, int, double[], DataBuffer) 
           public abstract void setSample(int x,
                               int y,
                               int b,
                               int s,
                               DataBuffer data) 
          x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           b - 乐队设置。 
           s - 输入样本为int。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内。 
           getSample(int, int, int, DataBuffer) 
           public void setSample(int x,
                      int y,
                      int b,
                      float s,
                      DataBuffer data) 
          setSample(int, int, int, DataBuffer)方法。 
           如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。 
          x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           b - 乐队设置。 
           s - 输入样本为浮点数。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内。 
           getSample(int, int, int, DataBuffer) 
           public void setSample(int x,
                      int y,
                      int b,
                      double s,
                      DataBuffer data) 
          setSample(int, int, int, DataBuffer)方法。 
           如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。 
          x - 像素位置的X坐标。 
           y - 像素位置的Y坐标。 
           b - 乐队设置。 
           s - 输入样本为双倍。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内。 
           getSample(int, int, int, DataBuffer) 
           public void setSamples(int x,
                       int y,
                       int w,
                       int h,
                       int b,
                       int[] iArray,
                       DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           b - 乐队设置。 
           iArray - int数组中的输入样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果iArray或数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内,或者如果iArray太小而不能容纳输入。 
           getSamples(int, int, int, int, int, int[], DataBuffer) 
           public void setSamples(int x,
                       int y,
                       int w,
                       int h,
                       int b,
                       float[] fArray,
                       DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           b - 乐队设置。 
           fArray - 浮点数组中的输入样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果fArray或数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内,或者如果fArray太小而不能容纳输入。 
           getSamples(int, int, int, int, int, float[], DataBuffer) 
           public void setSamples(int x,
                       int y,
                       int w,
                       int h,
                       int b,
                       double[] dArray,
                       DataBuffer data) 
          x - 左上角像素位置的X坐标。 
           y - 左上角像素位置的Y坐标。 
           w - 像素矩形的宽度。 
           h - 像素矩形的高度。 
           b - 乐队设置。 
           dArray - 双数组中的输入样本。 
           data - 包含图像数据的DataBuffer。 
           NullPointerException - 如果dArray或数据为空。 
           ArrayIndexOutOfBoundsException - 如果坐标或频带索引不在边界内,或者如果dArray太小而不能容纳输入。 
           getSamples(int, int, int, int, int, double[], DataBuffer) 
           public abstract SampleModel createCompatibleSampleModel(int w, int h)
w - 图像数据的宽度 
           h - 图像数据的高度 
           SampleModel描述了与这个 
            SampleModel相同的图像数据,但是具有不同的大小。 
           public abstract SampleModel createSubsetSampleModel(int[] bands)
bands - 这个 
            SampleModel的频带子集 
           SampleModel与这个 
            SampleModel的频带的子集。 
           public abstract DataBuffer createDataBuffer()
DataBuffer对应这个 
            SampleModel 。 
           public abstract int[] getSampleSize()
public abstract int getSampleSize(int band)
band - 指定的频带 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.