- java.lang.Object
 -  
      
- java.awt.image.DataBuffer
 
 
-  
       
- 已知直接子类:
 -  
         
DataBufferByte,DataBufferDouble,DataBufferFloat,DataBufferInt,DataBufferShort,DataBufferUShort 
public abstract class DataBuffer extends Object
此类用于包装一个或多个数据数组。 DataBuffer中的每个数据数组都称为bank。 获取和设置DataBuffer库的元素的访问器方法存在,有或没有银行说明符。 没有银行说明符的方法使用默认的第0个银行。 DataBuffer可以选择为每个存储区取一个偏移量,这样即使感兴趣的数据不是从数组位置零开始,也可以使用现有数组中的数据。 获取或设置存储体的第0个元素,使用数组的(0 + offset)元素。 size字段指定可供使用的数据阵列的数量。 给定存储区的大小+偏移量不应大于关联数据数组的长度。 数据缓冲区的数据类型指示数据阵列的类型,并且还可以指示附加语义,例如,将无符号8位数据存储在字节阵列的元素中。 数据类型可以是TYPE_UNDEFINED或下面定义的类型之一。 将来可能会添加其他类型。 通常,类DataBuffer的对象将被转换为其特定于数据类型的子类之一,以访问特定于数据类型的方法以提高性能。 目前,Java 2D(tm)API图像类使用TYPE_BYTE,TYPE_USHORT,TYPE_INT,TYPE_SHORT,TYPE_FLOAT和TYPE_DOUBLE DataBuffers来存储图像数据。- 另请参见:
 -  
         
Raster,SampleModel 
 
-  
        
       
-  
             
字段汇总
字段 变量和类型 字段 描述 protected intbanks此DataBuffer中的库数。protected intdataType此DataBuffer的数据类型。protected intoffset偏移到默认(第一个)存储区,从中获取第一个元素。protected int[]offsets抵消所有银行。protected intsize所有银行的可用规模。static intTYPE_BYTE标记无符号字节数据。static intTYPE_DOUBLE标记双数据。static intTYPE_FLOAT标记浮点数据。static intTYPE_INT标记int数据。static intTYPE_SHORT标记已签名的短数据。static intTYPE_UNDEFINED标记未定义的数据。static intTYPE_USHORT标记未签名的短数据。 
-  
             
构造方法摘要
构造方法 变量 构造器 描述 protectedDataBuffer(int dataType, int size)构造一个DataBuffer,其中包含一个指定数据类型和大小的存储区。protectedDataBuffer(int dataType, int size, int numBanks)构造一个包含指定数量的bank的DataBuffer。protectedDataBuffer(int dataType, int size, int numBanks, int offset)构造一个包含指定数量的bank的DataBuffer。protectedDataBuffer(int dataType, int size, int numBanks, int[] offsets)构造一个包含指定数量的库的DataBuffer。 
-  
             
方法摘要
所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 intgetDataType()返回此DataBuffer的数据类型。static intgetDataTypeSize(int type)给定数据类型标记,返回数据类型的大小(以位为单位)。intgetElem(int i)以整数形式从第一个(默认)存储区返回请求的数据数组元素。abstract intgetElem(int bank, int i)以整数形式返回指定存储单元中所请求的数据数组元素。doublegetElemDouble(int i)从第一个(默认)bank返回请求的数据数组元素作为double。doublegetElemDouble(int bank, int i)以double形式返回指定bank中请求的数据数组元素。floatgetElemFloat(int i)以float形式从第一个(默认)bank返回请求的数据数组元素。floatgetElemFloat(int bank, int i)以float形式返回指定bank中请求的数据数组元素。intgetNumBanks()返回此DataBuffer中的库数。intgetOffset()返回数组元素中默认bank的偏移量。int[]getOffsets()返回所有库的偏移量(在数组元素中)。intgetSize()返回所有库的大小(在数组元素中)。voidsetElem(int i, int val)从给定的整数设置第一个(默认)库中请求的数据数组元素。abstract voidsetElem(int bank, int i, int val)从给定的整数设置指定库中的请求数据数组元素。voidsetElemDouble(int i, double val)在给定double中的第一个(默认)存储区中设置请求的数据数组元素。voidsetElemDouble(int bank, int i, double val)从给定的double设置指定库中的请求数据数组元素。voidsetElemFloat(int i, float val)从给定的float中设置第一个(默认)库中请求的数据数组元素。voidsetElemFloat(int bank, int i, float val)从给定的float设置指定库中的请求数据数组元素。 
 -  
             
 
-  
        
       
-  
             
构造方法详细信息
-  
DataBuffer
protected DataBuffer(int dataType, int size)构造一个DataBuffer,其中包含一个指定数据类型和大小的存储区。- 参数
 -  
              
dataType- 此DataBuffer的数据类型 -  
              
size- 银行的规模 
 
-  
DataBuffer
protected DataBuffer(int dataType, int size, int numBanks)构造一个包含指定数量的bank的DataBuffer。 每个银行都有指定的大小和0的偏移量。- 参数
 -  
              
dataType- 此DataBuffer的数据类型 -  
              
size- 银行的规模 -  
              
numBanks- 此DataBuffer的银行DataBuffer 
 
-  
DataBuffer
protected DataBuffer(int dataType, int size, int numBanks, int offset)构造一个包含指定数量的bank的DataBuffer。 每个银行都有指定的数据类型,大小和偏移量。- 参数
 -  
              
dataType- 此DataBuffer的数据类型 -  
              
size- 银行的规模 -  
              
numBanks- 此DataBuffer的银行DataBuffer -  
              
offset- 每个银行的抵消额 
 
-  
DataBuffer
protected DataBuffer(int dataType, int size, int numBanks, int[] offsets)构造一个包含指定数量的库的DataBuffer。 每个银行都具有指定的数据类型和大小。 每个库的偏移量由其在偏移量数组中的相应条目指定。- 参数
 -  
              
dataType- 此DataBuffer的数据类型 -  
              
size- 银行的规模 -  
              
numBanks- 这个DataBuffer的银行DataBuffer -  
              
offsets- 包含每个库的偏移量的数组。 - 异常
 -  
              
ArrayIndexOutOfBoundsException- 如果numBanks不等于offsets的长度 
 
 -  
 
-  
             
方法详细信息
-  
getDataTypeSize
public static int getDataTypeSize(int type)
给定数据类型标记,返回数据类型的大小(以位为单位)。- 参数
 -  
              
type- 其中一个已定义的数据类型标记的值 - 结果
 - 数据类型的大小
 - 异常
 -  
              
IllegalArgumentException- 如果type小于零或大于TYPE_DOUBLE 
 
-  
getDataType
public int getDataType()
返回此DataBuffer的数据类型。- 结果
 - 
               此 
              
DataBuffer的数据类型。 
 
-  
getSize
public int getSize()
返回所有库的大小(在数组元素中)。- 结果
 - 所有银行的规模。
 
 
-  
getOffset
public int getOffset()
返回数组元素中默认bank的偏移量。- 结果
 - 默认银行的偏移量。
 
 
-  
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形式从第一个(默认)bank返回请求的数据数组元素。 这个类中的实现是将getElem(i)强制转换为float。 如果需要另一个实现,子类可以重写此方法。- 参数
 -  
              
i- 请求的数据数组元素的索引 - 结果
 - 表示指定索引处的数据数组元素的float值。
 - 另请参见:
 -  
              
setElemFloat(int, float),setElemFloat(int, int, float) 
 
-  
getElemFloat
public float getElemFloat(int bank, int i)- 参数
 -  
              
bank- 指定的银行 -  
              
i- 请求的数据数组元素的索引 - 结果
 - 一个浮点值,表示指定索引处指定库中的数据数组元素。
 - 另请参见:
 -  
              
setElemFloat(int, float),setElemFloat(int, int, float) 
 
-  
setElemFloat
public void setElemFloat(int i, float val)- 参数
 -  
              
i- 指定的索引 -  
              
val- 在数据数组中的指定索引处设置元素的值 - 另请参见:
 -  
              
getElemFloat(int),getElemFloat(int, int) 
 
-  
setElemFloat
public void setElemFloat(int bank, int i, float val)- 参数
 -  
              
bank- 指定的银行 -  
              
i- 指定的索引 -  
              
val- 在数据数组中的指定索引处设置指定库中的元素的值 - 另请参见:
 -  
              
getElemFloat(int),getElemFloat(int, int) 
 
-  
getElemDouble
public double getElemDouble(int i)
- 参数
 -  
              
i- 指定的索引 - 结果
 - 表示数据数组中指定索引处的元素的double值。
 - 另请参见:
 -  
              
setElemDouble(int, double),setElemDouble(int, int, double) 
 
-  
getElemDouble
public double getElemDouble(int bank, int i)以double形式返回指定bank中请求的数据数组元素。 这个类的实现是将getElem(bank,i)转换为double。 如果需要另一个实现,子类可以重写此方法。- 参数
 -  
              
bank- 指定的银行 -  
              
i- 指定的索引 - 结果
 - 一个double值,表示数据数组中指定索引处的指定库中的元素。
 - 另请参见:
 -  
              
setElemDouble(int, double),setElemDouble(int, int, double) 
 
-  
setElemDouble
public void setElemDouble(int i, double val)- 参数
 -  
              
i- 指定的索引 -  
              
val- 在数据数组中的指定索引处设置元素的值 - 另请参见:
 -  
              
getElemDouble(int),getElemDouble(int, int) 
 
-  
setElemDouble
public void setElemDouble(int bank, int i, double val)- 参数
 -  
              
bank- 指定的银行 -  
              
i- 指定的索引 -  
              
val- 在数据数组的指定索引处设置指定库中的元素的值 - 另请参见:
 -  
              
getElemDouble(int),getElemDouble(int, int) 
 
 -  
 
 -