JavaTM Platform
Standard Ed. 6

java.awt.image
类 Raster

java.lang.Object
  继承者 java.awt.image.Raster
直接已知子类:
WritableRaster

public class Raster
extends Object

表示像素矩形数组的类。Raster 封装存储样本值的 DataBuffer,以及描述如何在 DataBuffer 中定位给定样本值的 SampleModel。

Raster 定义占据特定平面矩形区域的像素值,该区域不一定包括 (0, 0)。该矩形也称为 Raster 的边界矩形,可以通过 getBounds 方法获得,由 minX、minY、width 和 height 值定义。minX 和 minY 值定义 Raster 左上角的坐标。对边界矩形外部像素的引用可能导致抛出异常,也可能导致引用与 Raster 的关联 DataBuffer 无关的元素。用户应该避免访问这种像素。

SampleModel 描述如何将 Raster 的样本存储在 DataBuffer 的基本数组元素中。可按每个数据元素一个样本的方式存储样本(使用 PixelInterleavedSampleModel 或 BandedSampleModel),或者将多个样本打包到一个元素中(使用 SinglePixelPackedSampleModel 或 MultiPixelPackedSampleModel)。SampleModel 还控制样本是否为符号扩展的,即是否允许将无符号数据以有符号的 Java 数据类型(如 byte、short 和 int)存储。

虽然 Raster 可能存在于平面中的任何位置,但 SampleModel 使用从 (0, 0) 开始的简单坐标系。因此 Raster 包含一个平移系数,允许在 Raster 的坐标系和 SampleModel 的坐标系之间映射像素位置。通过 getSampleModelTranslateX 和 getSampleModelTranslateY 方法可获取从 SampleModel 坐标系到 Raster 坐标系的平移。

通过显示构造或使用 createChild 和 createTranslatedChild 方法,Raster 可与另一个 Raster 共享 DataBuffer。这些方法创建的 Raster 可以返回对通过 getParent 方法创建的 Raster 的引用。对于不是通过调用 createTranslatedChild 或 createChild 构造的 Raster,getParent 将返回 null。

createTranslatedChild 方法返回一个与当前 Raster 共享所有数据的新 Raster,但却占用一个具有不同开始点、相同宽度和高度的边界矩形。例如,如果父 Raster 占用 (10, 10) 到 (100, 100) 的区域,并定义了平移的 Raster 从 (50, 50) 开始,则父 Raster 的像素 (20, 20) 和子 Raster 的像素 (60, 60) 占用两个 Raster 共享的 DataBuffer 中的同一位置。在第一种情况中,像素坐标应该加上 (-10, -10) 以得到对应的 SampleModel 坐标,第二种情况中则应加上 (-50, -50)。

通过从父 Raster 的 sampleModelTranslateX 和 sampleModelTranslateY 值中减去子 Raster 的 sampleModelTranslateX 和 sampleModelTranslateY 值,可以确定父 Raster 和子 Raster 之间的平移。

createChild 方法可用于创建新的 Raster,该 Raster 只占用其父 Raster 边界矩形的一个子集(具有相同或平移后的坐标系),或者具有其父 Raster 的 band 子集。

所有构造方法都是受保护的。创建 Raster 的正确方式是使用此类中定义的某个静态创建方法。这些方法创建使用标准 Interleaved、Banded 和 Packed SampleModel 的 Raster 实例,相比通过结合外部生成的 SampleModel 和 DataBuffer 所创建的 Raster,该 Raster 的处理要更高效。

另请参见:
DataBuffer, SampleModel, PixelInterleavedSampleModel, BandedSampleModel, SinglePixelPackedSampleModel, MultiPixelPackedSampleModel

字段摘要
protected  DataBuffer dataBuffer
          存储图像数据的 DataBuffer。
protected  int height
          此 Raster 的高度。
protected  int minX
          此 Raster 左上角像素的 X 坐标。
protected  int minY
          此 Raster 左上角像素的 Y 坐标。
protected  int numBands
          Raster 中的 band 数。
protected  int numDataElements
          每个像素的 DataBuffer 数据元素数。
protected  Raster parent
          此 Raster 的父 Raster,或者为 null。
protected  SampleModel sampleModel
          描述此 Raster 的像素在 DataBuffer 中存储方式的 SampleModel。
protected  int sampleModelTranslateX
          从 Raster 的 SampleModel 坐标空间到该 Raster 坐标空间的 X 平移。
protected  int sampleModelTranslateY
          从 Raster 的 SampleModel 坐标空间到该 Raster 坐标空间的 Y 平移。
protected  int width
          此 Raster 的宽度。
 
构造方法摘要
protected Raster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
          构建具有给定 SampleModel 和 DataBuffer 的 Raster。
protected Raster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion, Point sampleModelTranslate, Raster parent)
          构造具有给定 SampleModel、DataBuffer 和父 Raster 的 Raster。
protected Raster(SampleModel sampleModel, Point origin)
          构建具有给定 SampleModel 的 Raster。
 
方法摘要
static WritableRaster createBandedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
          根据 BandedSampleModel 创建一个具有指定 DataBuffer、宽度、高度、扫描行间距、存储单元索引和 band 偏移量的 Raster。
static WritableRaster createBandedRaster(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
          根据 BandedSampleModel 创建一个具有指定数据类型、宽度、高度、扫描行间距、存储单元索引和 band 偏移量的 Raster。
static WritableRaster createBandedRaster(int dataType, int w, int h, int bands, Point location)
          根据 BandedSampleModel 创建一个具有指定数据类型、宽度、高度和 band 数的 Raster。
 Raster createChild(int parentX, int parentY, int width, int height, int childMinX, int childMinY, int[] bandList)
          返回共享此 Raster 全部或部分 DataBuffer 的新 Raster。
 WritableRaster createCompatibleWritableRaster()
          创建一个兼容的 WritableRaster,使其具有与此 Raster 相同的大小、SampleModel,以及一个新初始化的 DataBuffer。
 WritableRaster createCompatibleWritableRaster(int w, int h)
          创建一个兼容的 WritableRaster,使其具有指定大小、新 SampleModel 和新初始化的 DataBuffer。
 WritableRaster createCompatibleWritableRaster(int x, int y, int w, int h)
          创建一个兼容的 WritableRaster,使其具有指定位置 (minX, minY) 和大小 (width, height)、新 SampleModel 和新初始化的 DataBuffer。
 WritableRaster createCompatibleWritableRaster(Rectangle rect)
          创建一个兼容的 WritableRaster,使其具有由 rect 指定的位置 (minX, minY) 和大小 (width, height)、新 SampleModel 和新初始化的 DataBuffer。
static WritableRaster createInterleavedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
          根据 PixelInterleavedSampleModel 创建一个具有指定 DataBuffer、宽度、高度、扫描行间距、像素间距和 band 偏移量的 Raster。
static WritableRaster createInterleavedRaster(int dataType, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
          根据 PixelInterleavedSampleModel 创建一个具有指定数据类型、宽度、高度、扫描行间距、像素间距和 band 偏移量的 Raster。
static WritableRaster createInterleavedRaster(int dataType, int w, int h, int bands, Point location)
          根据 PixelInterleavedSampleModel 创建一个具有指定数据类型、宽度、高度和 band 数的 Raster。
static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bandMasks, Point location)
          根据 SinglePixelPackedSampleModel 创建一个具有指定 DataBuffer、宽度、高度、扫描行间距和 band 掩码的 Raster。
static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int bitsPerPixel, Point location)
          根据 MultiPixelPackedSampleModel 创建一个具有指定 DataBuffer、宽度、高度和每像素位数的 Raster。
static WritableRaster createPackedRaster(int dataType, int w, int h, int[] bandMasks, Point location)
          根据 SinglePixelPackedSampleModel 创建一个具有指定数据类型、宽度、高度和 band 掩码的 Raster。
static WritableRaster createPackedRaster(int dataType, int w, int h, int bands, int bitsPerBand, Point location)
          根据打包的 SampleModel 创建一个具有指定数据类型、宽度、高度、band 数和每 band 位数的 Raster。
static Raster createRaster(SampleModel sm, DataBuffer db, Point location)
          创建具有指定 SampleModel 和 DataBuffer 的 Raster。
 Raster createTranslatedChild(int childMinX, int childMinY)
          创建一个 Raster,使其大小、SampleModel 和 DataBuffer 与此 Raster 相同,但是位置不同。
static WritableRaster createWritableRaster(SampleModel sm, DataBuffer db, Point location)
          创建一个具有指定 SampleModel 和 DataBuffer 的 WritableRaster。
static WritableRaster createWritableRaster(SampleModel sm, Point location)
          创建一个具有指定 SampleModel 的 WritableRaster。
 Rectangle getBounds()
          返回此 Raster 的边界 Rectangle。
 DataBuffer getDataBuffer()
          返回与此 Raster 关联的 DataBuffer。
 Object getDataElements(int x, int y, int w, int h, Object outData)
          以 TransferType 类型基本数组形式返回指定像素矩形的像素数据。
 Object getDataElements(int x, int y, Object outData)
          以 TransferType 类型的基本数组形式返回单个像素的数据。
 int getHeight()
          返回 Raster 的像素高度。
 int getMinX()
          返回 Raster 的最小有效 X 坐标。
 int getMinY()
          返回 Raster 的最小有效 Y 坐标。
 int getNumBands()
          返回此 Raster 中的 band 数(每像素样本)。
 int getNumDataElements()
          返回通过 getDataElements 和 setDataElements 方法传输一个像素所需的数据元素数。
 Raster getParent()
          返回此 Raster 的父 Raster(如果有),或者 null。
 double[] getPixel(int x, int y, double[] dArray)
          以 double 数组形式返回指定像素的样本。
 float[] getPixel(int x, int y, float[] fArray)
          以 float 数组形式返回指定像素的样本。
 int[] getPixel(int x, int y, int[] iArray)
          以 int 数组形式返回指定像素的样本。
 double[] getPixels(int x, int y, int w, int h, double[] dArray)
          返回一个包含像素矩形所有样本的 double 数组,每个数组元素对应一个样本。
 float[] getPixels(int x, int y, int w, int h, float[] fArray)
          返回一个包含像素矩形所有样本的 float 数组,每个数组元素对应一个样本。
 int[] getPixels(int x, int y, int w, int h, int[] iArray)
          返回一个包含像素矩形所有样本的 int 数组,每个数组元素对应一个样本。
 int getSample(int x, int y, int b)
          以 int 形式返回指定 band 中对应于 (x,y) 处像素的样本。
 double getSampleDouble(int x, int y, int b)
          以 double 形式返回指定 band 中对应于 (x,y) 处像素的样本。
 float getSampleFloat(int x, int y, int b)
          以 float 形式返回指定 band 中对应于 (x,y) 处像素的样本。
 SampleModel getSampleModel()
          返回描述图像数据布局的 SampleModel。
 int getSampleModelTranslateX()
          返回从 SampleModel 坐标系到 Raster 坐标系的 X 平移。
 int getSampleModelTranslateY()
          返回从 SampleModel 坐标系到 Raster 坐标系的 Y 平移。
 double[] getSamples(int x, int y, int w, int h, int b, double[] dArray)
          以 double 数组形式返回指定 band 中对应于指定像素矩形的样本,每个数组元素对应一个样本。
 float[] getSamples(int x, int y, int w, int h, int b, float[] fArray)
          以 float 数组形式返回指定 band 中对应于指定像素矩形的样本,每个数组元素对应一个样本。
 int[] getSamples(int x, int y, int w, int h, int b, int[] iArray)
          以 int 数组形式返回指定 band 中对应于指定像素矩形的样本,每个数组元素对应一个样本。
 int getTransferType()
          返回通过 getDataElements 和 setDataElements 方法传输像素所使用的 TransferType。
 int getWidth()
          返回 Raster 的像素宽度。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

sampleModel

protected SampleModel sampleModel
描述此 Raster 的像素在 DataBuffer 中存储方式的 SampleModel。


dataBuffer

protected DataBuffer dataBuffer
存储图像数据的 DataBuffer。


minX

protected int minX
此 Raster 左上角像素的 X 坐标。


minY

protected int minY
此 Raster 左上角像素的 Y 坐标。


width

protected int width
此 Raster 的宽度。


height

protected int height
此 Raster 的高度。


sampleModelTranslateX

protected int sampleModelTranslateX
从 Raster 的 SampleModel 坐标空间到该 Raster 坐标空间的 X 平移。


sampleModelTranslateY

protected int sampleModelTranslateY
从 Raster 的 SampleModel 坐标空间到该 Raster 坐标空间的 Y 平移。


numBands

protected int numBands
Raster 中的 band 数。


numDataElements

protected int numDataElements
每个像素的 DataBuffer 数据元素数。


parent

protected Raster parent
此 Raster 的父 Raster,或者为 null。

构造方法详细信息

Raster

protected Raster(SampleModel sampleModel,
                 Point origin)
构建具有给定 SampleModel 的 Raster。Raster 的左上角是原点,其大小与 SampleModel 相同。自动创建大小足以容纳该 Raster 的 DataBuffer。

参数:
sampleModel - 指定布局的 SampleModel
origin - 指定原点的 Point
抛出:
RasterFormatException - 如果计算 origin.x + sampleModel.getWidth()origin.y + sampleModel.getHeight() 导致整数溢出
NullPointerException - 如果 sampleModelorigin 为 null

Raster

protected Raster(SampleModel sampleModel,
                 DataBuffer dataBuffer,
                 Point origin)
构建具有给定 SampleModel 和 DataBuffer 的 Raster。Raster 的左上角是原点,其大小与 SampleModel 相同。DataBuffer 没有初始化,且必须与 SampleModel 兼容。

参数:
sampleModel - 指定布局的 SampleModel
dataBuffer - 包含图像数据的 DataBuffer
origin - 指定原点的 Point
抛出:
RasterFormatException - 如果计算 origin.x + sampleModel.getWidth()origin.y + sampleModel.getHeight() 导致整数溢出
NullPointerException - 如果 sampleModelorigin 为 null

Raster

protected Raster(SampleModel sampleModel,
                 DataBuffer dataBuffer,
                 Rectangle aRegion,
                 Point sampleModelTranslate,
                 Raster parent)
构造具有给定 SampleModel、DataBuffer 和父 Raster 的 Raster。aRegion 指定新 Raster 的边界矩形。平移到基 Raster 的坐标系时,基 Raster 必须包含 aRegion。(对于没有父 Raster 的 Raster 而言,基 Raster 是其祖先。)sampleModelTranslate 指定新 Raster 的 sampleModelTranslateX 和 sampleModelTranslateY 值。注意,此构造方法通常应该由其他构造方法或创建方法调用,不应直接使用它。

参数:
sampleModel - 指定布局的 SampleModel
dataBuffer - 包含图像数据的 DataBuffer
aRegion - 指定图像区域的 Rectangle
sampleModelTranslate - 指定从 SampleModel 向 Raster 坐标平移的 Point
parent - 此 Raster 的父 Raster(如果有)
抛出:
NullPointerException - 如果任意 sampleModeldataBufferaRegionsampleModelTranslate 为 null
RasterFormatException - 如果 aRegion 的宽度或高度小于等于 0,或者计算 aRegion.x + aRegion.widthaRegion.y + aRegion.height 导致整数溢出
方法详细信息

createInterleavedRaster

public static WritableRaster createInterleavedRaster(int dataType,
                                                     int w,
                                                     int h,
                                                     int bands,
                                                     Point location)
根据 PixelInterleavedSampleModel 创建一个具有指定数据类型、宽度、高度和 band 数的 Raster。

Raster 的左上角由 location 参数给定。如果 location 为 null,则将使用 (0, 0)。dataType 参数应该是 DataBuffer 类中定义的某个枚举值。

注意,不支持交错存取的 DataBuffer.TYPE_INT Raster。要创建 DataBuffer.TYPE_INT 类型的一 band Raster,请使用 Raster.createPackedRaster()。

当前受支持的 dataType 只有 TYPE_BYTE 和 TYPE_USHORT。

参数:
dataType - 存储样本的数据类型
w - 图像数据的像素宽度
h - 图像数据的像素高度
bands - band 数
location - Raster 的左上角
返回:
具有指定数据类型、宽度、高度和 band 数的 WritableRaster 对象。
抛出:
RasterFormatException - 如果 wh 小于等于 0,或者计算 location.x + wlocation.y + h 导致整数溢出

createInterleavedRaster

public static WritableRaster createInterleavedRaster(int dataType,
                                                     int w,
                                                     int h,
                                                     int scanlineStride,
                                                     int pixelStride,
                                                     int[] bandOffsets,
                                                     Point location)
根据 PixelInterleavedSampleModel 创建一个具有指定数据类型、宽度、高度、扫描行间距、像素间距和 band 偏移量的 Raster。从 bandOffsets.length 可以推导出 band 数。

Raster 的左上角由 location 参数给定。如果 location 为 null,则将使用 (0, 0)。dataType 参数应该是 DataBuffer 类中定义的某个枚举值。

注意,不支持交错存取的 DataBuffer.TYPE_INT Raster。要创建 DataBuffer.TYPE_INT 类型的一 band Raster,请使用 Raster.createPackedRaster()。

当前受支持的 dataType 只有 TYPE_BYTE 和 TYPE_USHORT。

参数:
dataType - 存储样本的数据类型
w - 图像数据的像素宽度
h - 图像数据的像素高度
scanlineStride - 图像数据的行间距
pixelStride - 图像数据的像素间距
bandOffsets - 所有 band 的偏移量
location - Raster 的左上角
返回:
具有指定数据类型、宽度、高度、扫描行间距、像素间距和 band 偏移量的 WritableRaster 对象。
抛出:
RasterFormatException - 如果 wh 小于等于 0,或者计算 location.x + wlocation.y + h 导致整数溢出
IllegalArgumentException - 如果 dataType 不是受支持的数据类型之一,即 DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORT

createBandedRaster

public static WritableRaster createBandedRaster(int dataType,
                                                int w,
                                                int h,
                                                int bands,
                                                Point location)
根据 BandedSampleModel 创建一个具有指定数据类型、宽度、高度和 band 数的 Raster。

Raster 的左上角由 location 参数给定。如果 location 为 null,则将使用 (0, 0)。dataType 参数应该是 DataBuffer 类中定义的某个枚举值。

当前受支持的 dataType 只有 TYPE_BYTE 和 TYPE_USHORT。

参数:
dataType - 存储样本的数据类型
w - 图像数据的像素宽度
h - 图像数据的像素高度
bands - band 数
location - Raster 的左上角
返回:
具有指定数据类型、宽度、高度和 band 数的 WritableRaster 对象。
抛出:
RasterFormatException - 如果 wh 小于等于 0,或者计算 location.x + wlocation.y + h 导致整数溢出
ArrayIndexOutOfBoundsException - 如果 bands 小于 1

createBandedRaster

public static WritableRaster createBandedRaster(int dataType,
                                                int w,
                                                int h,
                                                int scanlineStride,
                                                int[] bankIndices,
                                                int[] bandOffsets,
                                                Point location)
根据 BandedSampleModel 创建一个具有指定数据类型、宽度、高度、扫描行间距、存储单元索引和 band 偏移量的 Raster。从 bankIndices.length 和 bandOffsets.length(这两个数必须相同)可以推导出 band 数。

Raster 的左上角由 location 参数给定。dataType 参数应该是 DataBuffer 类中定义的某个枚举值。

当前受支持的 dataType 只有 TYPE_BYTE 和 TYPE_USHORT。

参数:
dataType - 存储样本的数据类型
w - 图像数据的像素宽度
h - 图像数据的像素高度
scanlineStride - 图像数据的行间距
bankIndices - 每个 band 的存储单元索引
bandOffsets - 所有 band 的偏移量
location - Raster 的左上角
返回:
具有指定数据类型、宽度、高度、扫描行间距、存储单元索引和 band 偏移量的 WritableRaster 对象。
抛出:
RasterFormatException - 如果 wh 小于等于 0,或者计算 location.x + wlocation.y + h 导致整数溢出
IllegalArgumentException - 如果 dataType 不是受支持的数据类型之一,即 DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INT
ArrayIndexOutOfBoundsException - 如果 bankIndicesbandOffsetsnull

createPackedRaster

public static WritableRaster createPackedRaster(int dataType,
                                                int w,
                                                int h,
                                                int[] bandMasks,
                                                Point location)
根据 SinglePixelPackedSampleModel 创建一个具有指定数据类型、宽度、高度和 band 掩码的 Raster。从 bandMasks.length 可以推导出 band 数。

Raster 的左上角由 location 参数给定。如果 location 为 null,则将使用 (0, 0)。dataType 参数应该是 DataBuffer 类中定义的某个枚举值。

当前受支持的 dataType 只有 TYPE_BYTE 和 TYPE_USHORT。

参数:
dataType - 存储样本的数据类型
w - 图像数据的像素宽度
h - 图像数据的像素高度
bandMasks - 包含每个 band 项的数组
location - Raster 的左上角
返回:
具有指定数据类型、宽度、高度和 band 掩码的 WritableRaster 对象。
抛出:
RasterFormatException - 如果 wh 小于等于 0,或者计算 location.x + wlocation.y + h 导致整数溢出
IllegalArgumentException - 如果 dataType 不是受支持的数据类型之一,即 DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INT

createPackedRaster

public static WritableRaster createPackedRaster(int dataType,
                                                int w,
                                                int h,
                                                int bands,
                                                int bitsPerBand,
                                                Point location)
根据打包的 SampleModel 创建一个具有指定数据类型、宽度、高度、band 数和每 band 位数的 Raster。如果 band 数是 1,则 SampleModel 将是一个 MultiPixelPackedSampleModel。

如果 band 数大于 1,则 SampleModel 将是一个 SinglePixelPackedSampleModel,每个 band 有 bitsPerBand 位。无论是哪种情况,都要满足相应 SampleModel 对 dataType 和 bitsPerBand 的要求。

Raster 的左上角由 location 参数给定。如果 location 为 null,则将使用 (0, 0)。dataType 参数应该是 DataBuffer 类中定义的某个枚举值。

当前受支持的 dataType 只有 TYPE_BYTE 和 TYPE_USHORT。

参数:
dataType - 存储样本的数据类型
w - 图像数据的像素宽度
h - 图像数据的像素高度
bands - band 数
bitsPerBand - 每个 band 的位数
location - Raster 的左上角
返回:
具有指定数据类型、宽度、高度、band 数和每个 band 位数的 WritableRaster 对象。
抛出:
RasterFormatException - 如果 wh 小于等于 0,或者计算 location.x + wlocation.y + h 导致整数溢出
IllegalArgumentException - 如果 bitsPerBandbands 的乘积大于 dataType 保存的位数
IllegalArgumentException - 如果 bitsPerBandbands 小于 0
IllegalArgumentException - 如果 dataType 不是受支持的数据类型之一,即 DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INT

createInterleavedRaster

public static WritableRaster createInterleavedRaster(DataBuffer dataBuffer,
                                                     int w,
                                                     int h,
                                                     int scanlineStride,
                                                     int pixelStride,
                                                     int[] bandOffsets,
                                                     Point location)
根据 PixelInterleavedSampleModel 创建一个具有指定 DataBuffer、宽度、高度、扫描行间距、像素间距和 band 偏移量的 Raster。从 bandOffsets.length 可以推导出 band 数。Raster 的左上角由 location 参数给定。如果 location 为 null,则将使用 (0, 0)。

注意,不支持交错存取的 DataBuffer.TYPE_INT Raster。要创建 DataBuffer.TYPE_INT 类型的一 band Raster,请使用 Raster.createPackedRaster()。

参数:
dataBuffer - 包含图像数据的 DataBuffer
w - 图像数据的像素宽度
h - 图像数据的像素高度
scanlineStride - 图像数据的行间距
pixelStride - 图像数据的像素间距
bandOffsets - 所有 band 的偏移量
location - Raster 的左上角
返回:
具有指定 DataBuffer、宽度、高度、扫描行间距、像素间距和 band 偏移量的 WritableRaster 对象。
抛出:
RasterFormatException - 如果 wh 小于等于 0,或者计算 location.x + wlocation.y + h 导致整数溢出
IllegalArgumentException - 如果 dataType 不是受支持的数据类型之一,即 DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORT
RasterFormatException - 如果 dataBuffer 有多个存储单元。
NullPointerException - 如果 dataBuffer 为 null

createBandedRaster

public static WritableRaster createBandedRaster(DataBuffer dataBuffer,
                                                int w,
                                                int h,
                                                int scanlineStride,
                                                int[] bankIndices,
                                                int[] bandOffsets,
                                                Point location)
根据 BandedSampleModel 创建一个具有指定 DataBuffer、宽度、高度、扫描行间距、存储单元索引和 band 偏移量的 Raster。从 bankIndices.length 和 bandOffsets.length(这两个数必须相同)可以推导出 band 数。Raster 的左上角由 location 参数给定。如果 location 为 null,则将使用 (0, 0)。

参数:
dataBuffer - 包含图像数据的 DataBuffer
w - 图像数据的像素宽度
h - 图像数据的像素高度
scanlineStride - 图像数据的行间距
bankIndices - 每个 band 的存储单元索引
bandOffsets - 所有 band 的偏移量
location - Raster 的左上角
返回:
具有指定 DataBuffer、宽度、高度、扫描行间距、存储单元索引和 band 偏移量的 WritableRaster 对象。
抛出:
RasterFormatException - 如果 wh 小于等于 0,或者计算 location.x + wlocation.y + h 导致整数溢出
IllegalArgumentException - 如果 dataType 不是受支持的数据类型之一,即 DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INT
NullPointerException - 如果 dataBuffer 为 null

createPackedRaster

public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
                                                int w,
                                                int h,
                                                int scanlineStride,
                                                int[] bandMasks,
                                                Point location)
根据 SinglePixelPackedSampleModel 创建一个具有指定 DataBuffer、宽度、高度、扫描行间距和 band 掩码的 Raster。从 bandMasks.length 可以推导出 band 数。通过 location 参数给出 Raster 的左上角。如果 location 为 null,则将使用 (0, 0)。

参数:
dataBuffer - 包含图像数据的 DataBuffer
w - 图像数据的像素宽度
h - 图像数据的像素高度
scanlineStride - 图像数据的行间距
bandMasks - 包含每个 band 项的数组
location - Raster 的左上角
返回:
具有指定 DataBuffer、宽度、高度、扫描行间距和 band 掩码的 WritableRaster 对象。
抛出:
RasterFormatException - 如果 wh 小于等于 0,或者计算 location.x + wlocation.y + h 导致整数溢出
IllegalArgumentException - 如果 dataType 不是受支持的数据类型之一,即 DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INT
RasterFormatException - 如果 dataBuffer 有多个存储单元。
NullPointerException - 如果 dataBuffer 为 null

createPackedRaster

public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
                                                int w,
                                                int h,
                                                int bitsPerPixel,
                                                Point location)
根据 MultiPixelPackedSampleModel 创建一个具有指定 DataBuffer、宽度、高度和每像素位数的 Raster。Raster 的左上角由 location 参数给定。如果 location 为 null,则将使用 (0, 0)。

参数:
dataBuffer - 包含图像数据的 DataBuffer
w - 图像数据的像素宽度
h - 图像数据的像素高度
bitsPerPixel - 每像素的位数
location - Raster 的左上角
返回:
具有指定 DataBuffer、宽度、高度和每像素位数的 WritableRaster 对象。
抛出:
RasterFormatException - 如果 wh 小于等于 0,或者计算 location.x + wlocation.y + h 导致整数溢出
IllegalArgumentException - 如果 dataType 不是受支持的数据类型之一,即 DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INT
RasterFormatException - 如果 dataBuffer 有多个存储单元。
NullPointerException - 如果 dataBuffer 为 null

createRaster

public static Raster createRaster(SampleModel sm,
                                  DataBuffer db,
                                  Point location)
创建具有指定 SampleModel 和 DataBuffer 的 Raster。Raster 的左上角由 location 参数给定。如果 location 为 null,则将使用 (0, 0)。

参数:
sm - 指定的 SampleModel
db - 指定的 DataBuffer
location - Raster 的左上角
返回:
具有指定 SampleModelDataBuffer 和 location 的Raster
抛出:
RasterFormatException - 如果计算 location.x + sm.getWidth()location.y + sm.getHeight() 导致整数溢出
RasterFormatException - 如果 dataBuffer 具有多个存储单元且 sampleModel 是 PixelInterleavedSampleModel、SinglePixelPackedSampleModel 或 MultiPixelPackedSampleModel。
NullPointerException - 如果 SampleModel 或 DataBuffer 为 null

createWritableRaster

public static WritableRaster createWritableRaster(SampleModel sm,
                                                  Point location)
创建一个具有指定 SampleModel 的 WritableRaster。Raster 的左上角由 location 参数给定。如果 location 为 null,则将使用 (0, 0)。

参数:
sm - 指定的 SampleModel
location - WritableRaster 的左上角
返回:
具有指定 SampleModel 和 location 的 WritableRaster
抛出:
RasterFormatException - 如果计算 location.x + sm.getWidth()location.y + sm.getHeight() 导致整数溢出

createWritableRaster

public static WritableRaster createWritableRaster(SampleModel sm,
                                                  DataBuffer db,
                                                  Point location)
创建一个具有指定 SampleModel 和 DataBuffer 的 WritableRaster。Raster 的左上角由 location 参数给定。如果 location 为 null,则将使用 (0, 0)。

参数:
sm - 指定的 SampleModel
db - 指定的 DataBuffer
location - WritableRaster 的左上角
返回:
具有指定 SampleModelDataBuffer 和 location 的 WritableRaster
抛出:
RasterFormatException - 如果计算 location.x + sm.getWidth()location.y + sm.getHeight() 导致整数溢出
RasterFormatException - 如果 dataBuffer 具有多个存储单元且 sampleModel 是 PixelInterleavedSampleModel、SinglePixelPackedSampleModel 或 MultiPixelPackedSampleModel。
NullPointerException - 如果 SampleModel 或 DataBuffer 为 null

getParent

public Raster getParent()
返回此 Raster 的父 Raster(如果有),或者 null。

返回:
父 Raster 或 null

getSampleModelTranslateX

public final int getSampleModelTranslateX()
返回从 SampleModel 坐标系到 Raster 坐标系的 X 平移。要将像素的 X 坐标从 Raster 坐标系转换到 SampleModel 坐标系,必须减去此值。

返回:
从 Raster 的 SampleModel 坐标空间到 Raster 坐标空间的 X 平移。

getSampleModelTranslateY

public final int getSampleModelTranslateY()
返回从 SampleModel 坐标系到 Raster 坐标系的 Y 平移。要将像素的 Y 坐标从 Raster 坐标系转换到 SampleModel 坐标系,必须减去此值。

返回:
从 Raster 的 SampleModel 坐标空间到 Raster 坐标空间的 Y 平移。

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster()
创建一个兼容的 WritableRaster,使其具有与此 Raster 相同的大小、SampleModel,以及一个新初始化的 DataBuffer。

返回:
具有相同样本模型和新数据缓冲区的兼容 WritableRaster

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster(int w,
                                                     int h)
创建一个兼容的 WritableRaster,使其具有指定大小、新 SampleModel 和新初始化的 DataBuffer。

参数:
w - 新 WritableRaster 的指定宽度
h - 新 WritableRaster 的指定高度
返回:
具有指定大小,以及新样本模型和数据缓冲区的兼容 WritableRaster
抛出:
RasterFormatException - 如果 width 或 height 小于等于 0。

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster(Rectangle rect)
创建一个兼容的 WritableRaster,使其具有由 rect 指定的位置 (minX, minY) 和大小 (width, height)、新 SampleModel 和新初始化的 DataBuffer。

参数:
rect - 指定 WritableRaster 的大小和位置的 Rectangle
返回:
具有指定大小和位置、新样本模型和数据缓冲区的 WritableRaster
抛出:
RasterFormatException - 如果 rect 的宽度或高度小于等于 0,或者计算 rect.x + rect.widthrect.y + rect.height 导致整数溢出
NullPointerException - 如果 rect 为 null

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster(int x,
                                                     int y,
                                                     int w,
                                                     int h)
创建一个兼容的 WritableRaster,使其具有指定位置 (minX, minY) 和大小 (width, height)、新 SampleModel 和新初始化的 DataBuffer。

参数:
x - WritableRaster 左上角的 X 坐标
y - WritableRaster 左上角的 Y 坐标
w - WritableRaster 的指定宽度
h - WritableRaster 的指定高度
返回:
具有指定大小和位置、新 SampleModel 和 DataBuffer 的兼容 WritableRaster
抛出:
RasterFormatException - 如果 wh 小于等于 0,或者计算 x + wy + h 导致整数溢出

createTranslatedChild

public Raster createTranslatedChild(int childMinX,
                                    int childMinY)
创建一个 Raster,使其大小、SampleModel 和 DataBuffer 与此 Raster 相同,但是位置不同。新 Raster 拥有对当前 Raster 的引用,可以通过其 getParent() 方法进行访问。

参数:
childMinX - 新 Raster 左上角的 X 坐标
childMinY - 新 Raster 左上角的 Y 坐标
返回:
大小、SampleModel 和 DataBuffer 与此 Raster 相同,但是具有指定位置的 Raster
抛出:
RasterFormatException - 如果计算 childMinX + this.getWidth()childMinY + this.getHeight() 导致整数溢出

createChild

public Raster createChild(int parentX,
                          int parentY,
                          int width,
                          int height,
                          int childMinX,
                          int childMinY,
                          int[] bandList)
返回共享此 Raster 全部或部分 DataBuffer 的新 Raster。新 Raster 拥有对当前 Raster 的引用,可以通过其 getParent() 方法进行访问。

parentX、parentY、width 和 height 参数在此 Raster 的坐标空间中形成一个 Rectangle,指示要共享的像素区域。如果此 Rectangle 未包含在当前 Raster 的边界内,则抛出错误。

新 Raster 可能被平移到与当前 Raster 所用坐标系不同的平面坐标系中。childMinX 和 childMinY 参数给出返回的 Raster 左上角像素的新 (x, y) 坐标;新 Raster 中的坐标 (childMinX, childMinY) 将映射到当前 Raster 中与坐标 (parentX, parentY) 相同的像素。

可以定义新 Raster 只包含当前 Raster 的 band 子集,通过 bandList 参数,可以对该子集重新排序。如果 bandList 为 null,则将按当前顺序包含 Raster 的所有 band。

要创建一个包含当前 Raster 子区域,但是共享其坐标系和 band 的新 Raster,应该调用此方法,并使 childMinX 等于 parentX,childMinY 等于 parentY,bandList 等于 null。

参数:
parentX - 此 Raster 坐标空间中左上角的 X 坐标
parentY - 此 Raster 坐标空间中左上角的 Y 坐标
width - 从 (parentX, parentY) 开始的区域宽度
height - 从 (parentX, parentY) 开始的区域高度。
childMinX - 返回的 Raster 左上角的 X 坐标
childMinY - 返回的 Raster 左上角的 Y 坐标
bandList - band 索引数组;如果要使用所有 band,则该参数为 null
返回:
一个新的 Raster
抛出:
RasterFormatException - 如果指定的子区域处于 Raster 的边界外。
RasterFormatException - 如果 widthheight 小于等于 0,或者计算 parentX + widthparentY + heightchildMinX + widthchildMinY + height 导致整数溢出

getBounds

public Rectangle getBounds()
返回此 Raster 的边界 Rectangle。此函数返回的信息与 getMinX/MinY/Width/Height 相同。

返回:
Raster 的边界框。

getMinX

public final int getMinX()
返回 Raster 的最小有效 X 坐标。

返回:
Raster 的最小 x 坐标。

getMinY

public final int getMinY()
返回 Raster 的最小有效 Y 坐标。

返回:
Raster 的最小 y 坐标。

getWidth

public final int getWidth()
返回 Raster 的像素宽度。

返回:
Raster 的宽度。

getHeight

public final int getHeight()
返回 Raster 的像素高度。

返回:
Raster 的高度。

getNumBands

public final int getNumBands()
返回此 Raster 中的 band 数(每像素样本)。

返回:
Raster 的 band 数。

getNumDataElements

public final int getNumDataElements()
返回通过 getDataElements 和 setDataElements 方法传输一个像素所需的数据元素数。通过这些方法传输像素时,可以以打包或未打包的格式进行传输,具体取决于底层 SampleModel 的实现。使用这些方法,可以将像素作为基本类型的 getNumDataElements() 元素数组传输,其中基本类型由 getTransferType() 给定。TransferType 不一定与 DataBuffer 的存储数据类型相同。

返回:
数据元素数。

getTransferType

public final int getTransferType()
返回通过 getDataElements 和 setDataElements 方法传输像素所使用的 TransferType。通过这些方法传输像素时,可以以打包或未打包的格式进行传输,具体取决于底层 SampleModel 的实现。可以将像素作为基本类型的 getNumDataElements() 元素数组传输,其中基本类型由 getTransferType() 给定。TransferType 不一定与 DataBuffer 的存储数据类型相同。TransferType 是 DataBuffer 中已定义的类型之一。

返回:
传输类型。

getDataBuffer

public DataBuffer getDataBuffer()
返回与此 Raster 关联的 DataBuffer。

返回:
RasterDataBuffer

getSampleModel

public SampleModel getSampleModel()
返回描述图像数据布局的 SampleModel。

返回:
RasterSampleModel

getDataElements

public Object getDataElements(int x,
                              int y,
                              Object outData)
以 TransferType 类型的基本数组形式返回单个像素的数据。对于 Java 2D(tm) API 支持的图像数据,此数据是 DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT 或 DataBuffer.TYPE_DOUBLE 之一。可以打包格式返回数据,从而提高数据的传输效率。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。如果输入对象不为 null 且引用了 TransferType 数组以外的任何对象,则抛出 ClassCastException。

参数:
x - 像素位置的 X 坐标
y - 像素位置的 Y 坐标
outData - 数组的对象引用,该数组类型由 getTransferType() 定义,长度由 getNumDataElements() 定义。如果为 null,则分配一个适当类型和大小的数组。
返回:
数组的对象引用,该数组类型由 getTransferType() 定义,包含所请求的像素数据。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标不在边界内,或者 outData 太小而无法保存输出内容。
另请参见:
SampleModel.getDataElements(int, int, Object, DataBuffer)

getDataElements

public Object getDataElements(int x,
                              int y,
                              int w,
                              int h,
                              Object outData)
以 TransferType 类型基本数组形式返回指定像素矩形的像素数据。对于 Java 2D API 支持的图像数据,此数据是 DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT 或 DataBuffer.TYPE_DOUBLE 之一。可以打包格式返回数据,从而提高数据的传输效率。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。如果输入对象不为 null 且引用了 TransferType 数组以外的任何对象,则抛出 ClassCastException。

参数:
x - 左上角像素位置的 X 坐标
y - 左上角像素位置的 Y 坐标
w - 像素矩形的宽度
h - 像素矩形的高度
outData - 数组的对象引用,该数组类型由 getTransferType() 定义,长度由 w*h*getNumDataElements()定义。如果为 null,则分配一个适当类型和大小的数组。
返回:
数组的对象引用,该数组类型由 getTransferType() 定义,包含所请求的像素数据。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标不在边界内,或者 outData 太小而无法保存输出内容。
另请参见:
SampleModel.getDataElements(int, int, int, int, Object, DataBuffer)

getPixel

public int[] getPixel(int x,
                      int y,
                      int[] iArray)
以 int 数组形式返回指定像素的样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 像素位置的 X 坐标
y - 像素位置的 Y 坐标
iArray - 一个可选的、预分配的 int 数组
返回:
指定像素的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标不在边界内,或者 iArray 太小而无法保存输出内容。

getPixel

public float[] getPixel(int x,
                        int y,
                        float[] fArray)
以 float 数组形式返回指定像素的样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 像素位置的 X 坐标
y - 像素位置的 Y 坐标
fArray - 一个可选的、预分配的 float 数组
返回:
指定像素的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标不在边界内,或者 fArray 太小而无法保存输出内容。

getPixel

public double[] getPixel(int x,
                         int y,
                         double[] dArray)
以 double 数组形式返回指定像素的样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 像素位置的 X 坐标
y - 像素位置的 Y 坐标
dArray - 一个可选的、预分配的 double 数组
返回:
指定像素的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标不在边界内,或者 dArray 太小而无法保存输出内容。

getPixels

public int[] getPixels(int x,
                       int y,
                       int w,
                       int h,
                       int[] iArray)
返回一个包含像素矩形所有样本的 int 数组,每个数组元素对应一个样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 左上角像素位置的 X 坐标
y - 左上角像素位置的 Y 坐标
w - 像素矩形的宽度
h - 像素矩形的高度
iArray - 一个可选的、预分配的 int 数组
返回:
指定像素矩形的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标不在边界内,或者 iArray 太小而无法保存输出内容。

getPixels

public float[] getPixels(int x,
                         int y,
                         int w,
                         int h,
                         float[] fArray)
返回一个包含像素矩形所有样本的 float 数组,每个数组元素对应一个样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 像素位置的 X 坐标
y - 像素位置的 Y 坐标
w - 像素矩形的宽度
h - 像素矩形的高度
fArray - 一个可选的、预分配的 float 数组
返回:
指定像素矩形的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标不在边界内,或者 fArray 太小而无法保存输出内容。

getPixels

public double[] getPixels(int x,
                          int y,
                          int w,
                          int h,
                          double[] dArray)
返回一个包含像素矩形所有样本的 double 数组,每个数组元素对应一个样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 左上角像素位置的 X 坐标
y - 左上角像素位置的 Y 坐标
w - 像素矩形的宽度
h - 像素矩形的高度
dArray - 一个可选的、预分配的 double 数组
返回:
指定像素矩形的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标不在边界内,或者 dArray 太小而无法保存输出内容。

getSample

public int getSample(int x,
                     int y,
                     int b)
以 int 形式返回指定 band 中对应于 (x,y) 处像素的样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 像素位置的 X 坐标
y - 像素位置的 Y 坐标
b - 要返回的 band
返回:
指定 band 中对应于指定坐标处像素的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标或 band 索引不在边界内。

getSampleFloat

public float getSampleFloat(int x,
                            int y,
                            int b)
以 float 形式返回指定 band 中对应于 (x,y) 处像素的样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 像素位置的 X 坐标
y - 像素位置的 Y 坐标
b - 要返回的 band
返回:
指定 band 中对应于指定坐标处像素的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标或 band 索引不在边界内。

getSampleDouble

public double getSampleDouble(int x,
                              int y,
                              int b)
以 double 形式返回指定 band 中对应于 (x,y) 处像素的样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 像素位置的 X 坐标
y - 像素位置的 Y 坐标
b - 要返回的 band
返回:
指定 band 中对应于指定坐标处像素的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标或 band 索引不在边界内。

getSamples

public int[] getSamples(int x,
                        int y,
                        int w,
                        int h,
                        int b,
                        int[] iArray)
以 int 数组形式返回指定 band 中对应于指定像素矩形的样本,每个数组元素对应一个样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 左上角像素位置的 X 坐标
y - 左上角像素位置的 Y 坐标
w - 像素矩形的宽度
h - 像素矩形的高度
b - 要返回的 band
iArray - 一个可选的、预分配的 int 数组
返回:
指定 band 中对应于指定像素矩形的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标或 band 索引不在边界内,或者 iArray 太小而无法保存输出内容。

getSamples

public float[] getSamples(int x,
                          int y,
                          int w,
                          int h,
                          int b,
                          float[] fArray)
以 float 数组形式返回指定 band 中对应于指定像素矩形的样本,每个数组元素对应一个样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 左上角像素位置的 X 坐标
y - 左上角像素位置的 Y 坐标
w - 像素矩形的宽度
h - 像素矩形的高度
b - 要返回的 band
fArray - 一个可选的、预分配的 float 数组
返回:
指定 band 中对应于指定像素矩形的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标或 band 索引不在边界内,或者 fArray 太小而无法保存输出内容。

getSamples

public double[] getSamples(int x,
                           int y,
                           int w,
                           int h,
                           int b,
                           double[] dArray)
以 double 数组形式返回指定 band 中对应于指定像素矩形的样本,每个数组元素对应一个样本。如果坐标不在边界之内,则抛出 ArrayIndexOutOfBoundsException。但是不保证进行显式的边界检查。

参数:
x - 左上角像素位置的 X 坐标
y - 左上角像素位置的 Y 坐标
w - 像素矩形的宽度
h - 像素矩形的高度
b - 要返回的 band
iArray - 一个可选的、预分配的 double 数组
返回:
指定 band 中对应于指定像素矩形的样本。
抛出:
ArrayIndexOutOfBoundsException - 如果坐标或 band 索引不在边界内,或者 dArray 太小而无法保存输出内容。

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策