raster java_Raster

方法详细信息

createInterleavedRaster public static WritableRaster createInterleavedRaster(int dataType,

int w,

int h,

int bands,

Point location)

基于具有指定数据类型,宽度,高度和频带数的PixelInterleavedSampleModel创建光栅。

光栅的左上角由位置参数给出。 如果位置为空,则使用(0,0)。 dataType参数应该是DataBuffer类中定义的枚举值之一。

请注意,不支持交错的DataBuffer.TYPE_INT栅格。 要创建一个类型为DataBuffer.TYPE_INT的1波段光栅,请使用Raster.createPackedRaster()。

目前唯一支持的数据类型是TYPE_BYTE和TYPE_USHORT。

参数

dataType - 存储样本的数据类型

w - 图像数据的宽度(以像素为单位)

h - 图像数据的高度(像素)

bands - 乐队的数量

location - 左上角的

Raster

结果

具有指定数据类型,宽度,高度和频带数的WritableRaster对象。

异常

w或

h小于或等于零,或计算

location.x + w或

location.y + h导致整数溢出

createInterleavedRaster public static WritableRaster createInterleavedRaster(int dataType,

int w,

int h,

int scanlineStride,

int pixelStride,

int[] bandOffsets,

Point location)

基于具有指定数据类型,宽度,高度,扫描线步长,像素步长和带偏移的PixelInterleavedSampleModel创建光栅。

频带数由bandOffsets.length推断出来。

光栅的左上角由位置参数给出。 如果位置为空,则使用(0,0)。 dataType参数应该是DataBuffer类中定义的枚举值之一。

需要注意的是交错DataBuffer.TYPE_INT栅格不被支持。 要创建一个类型为DataBuffer.TYPE_INT的1波段光栅,请使用Raster.createPackedRaster()。

目前唯一支持的数据类型是TYPE_BYTE和TYPE_USHORT。

参数

dataType - 存储样本的数据类型

w - 图像数据的宽度(像素)

h - 图像数据的高度(像素)

scanlineStride - 图像数据的行走

pixelStride - 图像数据的像素步幅

bandOffsets - 所有频段的偏移量

location - 左上角的

Raster

结果

具有指定数据类型,宽度,高度,扫描线步长,像素步幅和带偏移的WritableRaster对象。

异常

w或

h小于或等于零,或计算

location.x + w或

location.y + h导致整数溢出

dataType不是支持的数据类型之一,它们是

DataBuffer.TYPE_BYTE或

DataBuffer.TYPE_USHORT 。

createBandedRaster public static WritableRaster createBandedRaster(int dataType,

int w,

int h,

int bands,

Point location)

根据具有指定数据类型,宽度,高度和频带数的BandedSampleModel创建栅格。

光栅的左上角由位置参数给出。 如果位置为空,则使用(0,0)。 dataType参数应该是DataBuffer类中定义的枚举值之一。

目前唯一支持的数据类型是TYPE_BYTE,TYPE_USHORT和TYPE_INT。

参数

dataType - 存储样本的数据类型

w - 图像数据的宽度(以像素为单位)

h - 图像数据的高度(像素)

bands - 乐队的数量

location -

Raster

结果

具有指定数据类型,宽度,高度和频带数的WritableRaster对象。

异常

w或

h小于或等于零,或计算

location.x + w或

location.y + h导致整数溢出

createBandedRaster public static WritableRaster createBandedRaster(int dataType,

int w,

int h,

int scanlineStride,

int[] bankIndices,

int[] bandOffsets,

Point location)

基于具有指定数据类型,宽度,高度,扫描线步长,银行索引和带偏移的BandedSampleModel创建光栅。

band的数量是由bankIndices.length和bandOffsets.length推断的,它们必须相同。

光栅的左上角由位置参数给出。 dataType参数应该是DataBuffer类中定义的枚举值之一。

目前唯一支持的数据类型是TYPE_BYTE,TYPE_USHORT和TYPE_INT。

参数

dataType - 存储样本的数据类型

w - 图像数据的宽度(以像素为单位)

h - 图像数据的高度(像素)

scanlineStride - 图像数据的行走

bankIndices - 每个乐队的银行指数

bandOffsets - 所有频段的偏移量

location - 左上角的

Raster

结果

具有指定数据类型,宽度,高度,扫描线步长,库索引和带偏移的WritableRaster对象。

异常

w或

h小于或等于零,或计算

location.x + w或

location.y + h导致整数溢出

dataType是不支持的数据类型,这是一个

DataBuffer.TYPE_BYTE ,

DataBuffer.TYPE_USHORT或

DataBuffer.TYPE_INT

bankIndices或

bandOffsets是

null

createPackedRaster public static WritableRaster createPackedRaster(int dataType,

int w,

int h,

int[] bandMasks,

Point location)

基于具有指定数据类型,宽度,高度和带屏蔽的SinglePixelPackedSampleModel创建光栅。

频带的数量是从bandMasks.length推断出来的。

光栅的左上角由位置参数给出。 如果位置为空,则使用(0,0)。 dataType参数应该是DataBuffer类中定义的枚举值之一。

目前唯一支持的数据类型是TYPE_BYTE,TYPE_USHORT和TYPE_INT。

参数

dataType - 存储样品的数据类型

w - 图像数据的宽度(以像素为单位)

h - 图像数据的高度(像素)

bandMasks - 一个包含每个频带的条目的数组

location - 左上角的

Raster

结果

具有指定数据类型,宽度,高度和带掩码的WritableRaster对象。

异常

w或

h小于或等于零,或计算

location.x + w或

location.y + h导致整数溢出

dataType是不支持的数据类型,这是一个

DataBuffer.TYPE_BYTE ,

DataBuffer.TYPE_USHORT或

DataBuffer.TYPE_INT

createPackedRaster public static WritableRaster createPackedRaster(int dataType,

int w,

int h,

int bands,

int bitsPerBand,

Point location)

根据指定的数据类型,宽度,高度,频带数和每个频段的位数,打包SampleModel创建光栅。

如果频带数为1,则SampleModel将为MultiPixelPackedSampleModel。

如果频带数多于一个,则SampleModel将为SinglePixelPackedSampleModel,每个频带都具有位数位数。 在任何一种情况下,必须满足相应SampleModel对dataType和bitsPerBand的要求。

光栅的左上角由位置参数给出。 如果位置为空,则使用(0,0)。 dataType参数应该是DataBuffer类中定义的枚举值之一。

目前唯一支持的数据类型是TYPE_BYTE,TYPE_USHORT和TYPE_INT。

参数

dataType - 存储样本的数据类型

w - 图像数据的宽度(以像素为单位)

h - 图像数据的高度(像素)

bands - 乐队的数量

bitsPerBand - 每个频段的位数

location - 左上角的

Raster

结果

具有指定数据类型,宽度,高度,频带数和每个频带位的WritableRaster对象。

异常

w或

h小于或等于零,或计算

location.x + w或

location.y + h导致整数溢出

bitsPerBand和

bands的产品大于

dataType

bitsPerBand或

bands不大于零

dataType是不支持的数据类型,这是一个

DataBuffer.TYPE_BYTE ,

DataBuffer.TYPE_USHORT或

DataBuffer.TYPE_INT

createInterleavedRaster public static WritableRaster createInterleavedRaster(DataBuffer dataBuffer,

int w,

int h,

int scanlineStride,

int pixelStride,

int[] bandOffsets,

Point location)

基于具有指定DataBuffer,宽度,高度,扫描线步长,像素步幅和带偏移的PixelInterleavedSampleModel创建光栅。

频带数由bandOffsets.length推断出来。

光栅的左上角由位置参数给出。

如果位置为空,则使用(0,0)。

请注意,不支持交错的DataBuffer.TYPE_INT栅格。 要创建一个类型为DataBuffer.TYPE_INT的1波段光栅,请使用Raster.createPackedRaster()。

参数

dataBuffer - 包含图像数据的

DataBuffer

w - 图像数据的宽度(以像素为单位)

h - 图像数据的高度(像素)

scanlineStride - 图像数据的行走

pixelStride - 图像数据的像素步幅

bandOffsets - 所有频段的偏移量

location - 左上角的

Raster

结果

与指定的WritableRaster对象

DataBuffer ,宽度,高度,扫描间距,像素间距和带偏移。

异常

w或

h小于或等于零,或计算

location.x + w或

location.y + h导致整数溢出

dataType是不支持的数据类型,这是一个

DataBuffer.TYPE_BYTE ,

DataBuffer.TYPE_USHORT

createBandedRaster public static WritableRaster createBandedRaster(DataBuffer dataBuffer,

int w,

int h,

int scanlineStride,

int[] bankIndices,

int[] bandOffsets,

Point location)

根据指定的DataBuffer,width,height,scanline stride,bank index和band offsets创建一个基于BandedSampleModel的光栅。

band的数量是由bankIndices.length和bandOffsets.length推断的,它们必须相同。

光栅的左上角由位置参数给出。

如果位置为空,则使用(0,0)。

参数

dataBuffer - 包含图像数据的

DataBuffer

w - 图像数据的宽度(以像素为单位)

h - 图像数据的高度(像素)

scanlineStride - 图像数据的行走

bankIndices - 每个乐队的银行指数

bandOffsets - 所有频段的偏移量

location - 左上角的

Raster

结果

与指定的WritableRaster对象

DataBuffer ,宽度,高度,扫描行间距,存储单元索引和带偏移。

异常

w或

h小于或等于零,或计算

location.x + w或

location.y + h导致整数溢出

dataType是不支持的数据类型,这是一个

DataBuffer.TYPE_BYTE ,

DataBuffer.TYPE_USHORT或

DataBuffer.TYPE_INT

createPackedRaster public static WritableRaster createPackedRaster(DataBuffer dataBuffer,

int w,

int h,

int scanlineStride,

int[] bandMasks,

Point location)

基于具有指定DataBuffer,宽度,高度,扫描线步长和带屏蔽的SinglePixelPackedSampleModel创建光栅。

频带的数量是从bandMasks.length推断出来的。

光栅的左上角由位置参数给出。

如果位置为空,则使用(0,0)。

参数

dataBuffer - 包含图像数据的

DataBuffer

w - 图像数据的宽度(以像素为单位)

h - 图像数据的高度(以像素为单位)

scanlineStride - 图像数据的行走

bandMasks - 一个包含每个乐队条目的数组

location - 左上角的

Raster

结果

与指定的WritableRaster对象

DataBuffer ,宽度,高度,扫描行间距和band掩码。

异常

w或

h小于或等于零,或计算

location.x + w或

location.y + h导致整数溢出

dataType是不支持的数据类型,这是一个

DataBuffer.TYPE_BYTE ,

DataBuffer.TYPE_USHORT或

DataBuffer.TYPE_INT

createPackedRaster public static WritableRaster createPackedRaster(DataBuffer dataBuffer,

int w,

int h,

int bitsPerPixel,

Point location)

基于具有指定DataBuffer,宽度,高度和每像素位数的MultiPixelPackedSampleModel创建光栅。

光栅的左上角由位置参数给出。

如果位置为空,则使用(0,0)。

参数

dataBuffer - 包含图像数据的

DataBuffer

w - 图像数据的宽度(以像素为单位)

h - 图像数据的高度(像素)

bitsPerPixel - 每个像素的位数

location - 左上角的

Raster

结果

一个WritableRaster对象,具有指定的

DataBuffer ,宽度,高度和每像素位数。

异常

w或

h小于或等于零,或计算

location.x + w或

location.y + h导致整数溢出

dataType是不支持的数据类型,这是一个

DataBuffer.TYPE_BYTE ,

DataBuffer.TYPE_USHORT或

DataBuffer.TYPE_INT

createRaster public static Raster createRaster(SampleModel sm,

DataBuffer db,

Point location)

使用指定的SampleModel和DataBuffer创建光栅。

光栅的左上角由位置参数给出。

如果位置为空,则使用(0,0)。

参数

sm - 指定的

SampleModel

db - 指定的

DataBuffer

location -

Raster

结果

一个

Raster具有指定

SampleModel ,

DataBuffer和位置。

异常

location.x + sm.getWidth()或

location.y + sm.getHeight()导致整数溢出

db有多个银行,并且

sm是PixelInterleavedSampleModel,SinglePixelPackedSampleModel或MultiPixelPackedSampleModel。

createWritableRaster public static WritableRaster createWritableRaster(SampleModel sm,

Point location)

使用指定的SampleModel创建WritableRaster。

光栅的左上角由位置参数给出。

如果位置为空,则使用(0,0)。

参数

sm - 指定的

SampleModel

location - 左上角的

WritableRaster

结果

一个

WritableRaster与指定的

SampleModel和位置。

异常

location.x + sm.getWidth()或

location.y + sm.getHeight()导致整数溢出

createWritableRaster public static WritableRaster createWritableRaster(SampleModel sm,

DataBuffer db,

Point location)

使用指定的SampleModel和DataBuffer创建WritableRaster。

光栅的左上角由位置参数给出。

如果位置为空,则使用(0,0)。

参数

sm - 指定的

SampleModel

db - 指定的

DataBuffer

location - 左上角的

WritableRaster

结果

一个

WritableRaster具有指定

SampleModel ,

DataBuffer和位置。

异常

location.x + sm.getWidth()或

location.y + sm.getHeight()导致整数溢出

db有多个银行,并且

sm是PixelInterleavedSampleModel,SinglePixelPackedSampleModel或MultiPixelPackedSampleModel。

getParent public Raster getParent()

返回此栅格的父栅格(如果有)或null。

结果

null或

null 。

getSampleModelTranslateX public final int getSampleModelTranslateX()

从SampleModel的坐标系返回到Raster的X转换。

要将像素的X坐标从光栅坐标系转换为SampleModel坐标系,必须减去此值。

结果

从Raster的SampleModel的坐标空间到光栅的X平移。

getSampleModelTranslateY public final int getSampleModelTranslateY()

从SampleModel的坐标系返回到Raster的Y转换。

要将像素的Y坐标从光栅坐标系转换为SampleModel坐标系,必须减去此值。

结果

从Raster的SampleModel的坐标空间到Raster的坐标空间的Y翻译。

createCompatibleWritableRaster public WritableRaster createCompatibleWritableRaster()

创建与此Raster相同大小的兼容WritableRaster,具有相同的SampleModel和新的初始化DataBuffer。

结果

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

WritableRaster 。

createCompatibleWritableRaster public WritableRaster createCompatibleWritableRaster(int w,

int h)

创建一个具有指定大小的兼容WritableRaster,一个新的SampleModel和一个新的初始化DataBuffer。

参数

w - 指定宽度的新的

WritableRaster

h - 新的

WritableRaster的指定高度

结果

具有指定

WritableRaster兼容的WritableRaster和新的样本模型和数据缓冲区。

异常

createCompatibleWritableRaster public WritableRaster createCompatibleWritableRaster(Rectangle rect)

创建一个兼容的WritableRaster,它具有由rect指定的位置(minX,minY)和size(width,height),一个新的SampleModel和一个新的初始化的DataBuffer。

参数

rect -一个

Rectangle指定的大小和位置

WritableRaster

结果

兼容

WritableRaster具有指定大小和位置和一个新的采样模型和数据缓冲器。

异常

rect的宽度或高度小于或等于零,或计算

rect.x + rect.width或

rect.y + rect.height导致整数溢出

createCompatibleWritableRaster public WritableRaster createCompatibleWritableRaster(int x,

int y,

int w,

int h)

创建一个兼容的WritableRaster,具有指定的位置(minX,minY)和size(width,height),一个新的SampleModel和一个新的初始化的DataBuffer。

参数

x -

x的X

WritableRaster

y -

y的Y

WritableRaster

w - 指定宽度的

WritableRaster

h - 指定高度的

WritableRaster

结果

兼容

WritableRaster具有指定大小和位置和一个新的采样模型和数据缓冲器。

异常

w或

h小于或等于零,或计算

x + w或

y + h导致整数溢出

createTranslatedChild public Raster createTranslatedChild(int childMinX,

int childMinY)

创建一个具有相同大小的光栅,SampleModel和DataBuffer,但是具有不同的位置。

新的光栅将具有对当前光栅的引用,可通过其getParent()方法访问。

参数

childMinX - 新的

Raster左上角的X

Raster

childMinY - 新的

Raster左上角的Y

Raster

结果

一个具有相同大小的新的

Raster ,SampleModel和DataBuffer这个

Raster ,但是具有指定的位置。

异常

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,它共享此Raster DataBuffer的全部或部分。

新的光栅将具有对当前光栅的引用,可通过其getParent()方法访问。

parentX,parentY,width和height参数在此栅格坐标空间中形成一个Rectangle,指示要共享的像素面积。 如果此Rectangle不包含当前栅格的边界,将抛出一个错误。

新的光栅可以另外被转换为与当前光栅所使用的平面不同的坐标系。 childMinX和childMinY参数给出返回的Raster的左上角像素的新(x,y)坐标; 新栅格中的坐标(childMinX,childMinY)将映射到与当前栅格中的坐标(parentX,parentY)相同的像素。

新的栅格可以被定义为仅通过bandList参数仅包含当前栅格的可能重新排序的波段的子集。 如果bandList为null,则将其当前顺序包括当前栅格的所有频带。

要创建一个包含当前栅格的子区域的新栅格,但共享其坐标系和带,则该方法应该调用childMinX等于parentX,childMinY等于parentY,bandList等于null。

参数

parentX - 此栅格坐标中左上角的X坐标

parentY - 此栅格坐标中左上角的Y坐标

width - 从(parentX,parentY)开始的区域的宽度

height - 从(parentX,parentY)开始的区域的高度。

childMinX - 返回光栅左上角的X坐标

childMinY - 返回光栅左上角的Y坐标

bandList - 频带索引的数组,或使用所有频带的null

结果

一个新的

Raster 。

异常

width或

height小于或等于0,或者计算任何的

parentX + width ,

parentY + height ,

childMinX + width ,或

childMinY + height导致整数溢出

getBounds public Rectangle getBounds()

返回此栅格的边界矩形。

此函数返回与getMinX / MinY / Width / Height相同的信息。

结果

这个

Raster的边框。

getMinX public final int getMinX()

返回栅格的最小有效X坐标。

结果

这个

Raster的最小x

Raster 。

getMinY public final int getMinY()

返回栅格的最小有效Y坐标。

结果

这个

Raster的最小y

Raster 。

getWidth public final int getWidth()

返回栅格宽度(以像素为单位)。

结果

这个宽度是

Raster 。

getHeight public final int getHeight()

返回栅格的高度(像素)。

结果

这个

Raster的高度。

getNumBands public final int getNumBands()

返回此光栅中的带数(每像素的样本数)。

结果

这个

Raster的乐队的

Raster 。

getNumDataElements public final int getNumDataElements()

返回通过getDataElements和setDataElements方法传输一个像素所需的数据元素数。

当通过这些方法传输像素时,可以根据底层SampleModel的实现,以打包或解压缩的格式传输它们。

使用这些方法,像素被传递给由getTransferType()给出的原始类型的getNumDataElements()元素的数组。

TransferType可能与DataBuffer的存储数据类型相同或不同。

结果

数据元素的数量。

getTransferType public final int getTransferType()

返回用于通过getDataElements和setDataElements方法传输像素的TransferType。

当通过这些方法传输像素时,可以根据底层SampleModel的实现,以打包或解压缩的格式传输它们。

使用这些方法,像素被传递给由getTransferType()给出的原始类型的getNumDataElements()元素的数组。

TransferType可能与DataBuffer的存储数据类型相同或不同。

TransferType将是DataBuffer中定义的类型之一。

结果

这种转移类型。

getDataBuffer public DataBuffer getDataBuffer()

返回与此栅格相关联的DataBuffer。

结果

DataBuffer的这个

Raster 。

getSampleModel public SampleModel getSampleModel()

返回描述图像数据布局的SampleModel。

结果

这个

SampleModel的

Raster 。

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。

但是,显式边界检查不能保证。

如果输入对象为非空,则引用ClassCastException,并引用除TransferType数组以外的任何内容。

参数

x - 像素位置的X坐标

y - 像素位置的Y坐标

outData - 由getTransferType()和length getNumDataElements()定义的类型数组的对象引用。

如果为null,则将分配适当类型和大小的数组

结果

由getTransferType()与请求的像素数据定义的类型的数组的对象引用。

异常

另请参见:

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。

但是,显式边界检查不能保证。

如果输入对象为非空,则引用ClassCastException,并引用除TransferType数组以外的任何内容。

参数

x - 左上角像素位置的X坐标

y - 左上角像素位置的Y坐标

w - 像素矩形的宽度

h - 像素矩形的高度

outData - 由getTransferType()和length w * h * getNumDataElements()定义的类型数组的对象引用。

如果为null,则将分配适当类型和大小的数组。

结果

由getTransferType()与请求的像素数据定义的类型的数组的对象引用。

异常

另请参见:

getPixel public int[] getPixel(int x,

int y,

int[] iArray)

返回指定像素的int数组中的样本。

如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。

但是,显式边界检查不能保证。

参数

x - 像素位置的X坐标

y - 像素位置的Y坐标

iArray - 可选的预先分配的int数组

结果

指定像素的样本。

异常

getPixel public float[] getPixel(int x,

int y,

float[] fArray)

返回指定像素的float数组中的样本。

如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。

但是,显式边界检查不能保证。

参数

x - 像素位置的X坐标

y - 像素位置的Y坐标

fArray - 可选的预分配浮点数组

结果

指定像素的样本。

异常

getPixel public double[] getPixel(int x,

int y,

double[] dArray)

返回指定像素的double数组中的样本。

如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。

但是,显式边界检查不能保证。

参数

x - 像素位置的X坐标

y - 像素位置的Y坐标

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数组

结果

指定像素矩形的样本。

异常

getPixels public float[] getPixels(int x,

int y,

int w,

int h,

float[] fArray)

返回一个float数组,其中包含一个像素矩形的所有样本,每个数组元素一个样本。

如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。

但是,显式边界检查不能保证。

参数

x - 像素位置的X坐标

y - 像素位置的Y坐标

w - 像素矩形的宽度

h - 像素矩形的高度

fArray - 可选预先分配的浮点数组

结果

指定像素矩形的样本。

异常

getPixels public double[] getPixels(int x,

int y,

int w,

int h,

double[] dArray)

返回一个包含像素矩形的所有样本的双数组,每个数组元素一个样本。

如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。

但是,显式边界检查不能保证。

参数

x - 左上角像素位置的X坐标

y - 左上角像素位置的Y坐标

w - 像素矩形的宽度

h - 像素矩形的高度

dArray - 可选预先分配的双阵列

结果

指定像素矩形的样本。

异常

getSample public int getSample(int x,

int y,

int b)

将位于(x,y)处的像素的指定带中的样本返回为int。

如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。

但是,显式边界检查不能保证。

参数

x - 像素位置的X坐标

y - 像素位置的Y坐标

b - 乐队返回

结果

在指定频带中的样本在指定坐标处的像素。

异常

getSampleFloat public float getSampleFloat(int x,

int y,

int b)

将位于(x,y)处的像素的指定带中的样本作为浮点返回。

如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。

但是,显式边界检查不能保证。

参数

x - 像素位置的X坐标

y - 像素位置的Y坐标

b - 乐队返回

结果

在指定频带中的样本在指定坐标处的像素。

异常

getSampleDouble public double getSampleDouble(int x,

int y,

int b)

将位于(x,y)的像素的指定带中的样本返回为双倍。

如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。

但是,显式边界检查不能保证。

参数

x - 像素位置的X坐标

y - 像素位置的Y坐标

b - 乐队返回

结果

在指定频带中的样本在指定坐标处的像素。

异常

getSamples public int[] getSamples(int x,

int y,

int w,

int h,

int b,

int[] iArray)

返回int数组中指定的像素矩形的指定带的样本,每个数组元素一个样本。

如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。

但是,显式边界检查不能保证。

参数

x - 左上角像素位置的X坐标

y - 左上角像素位置的Y坐标

w - 像素矩形的宽度

h - 像素矩形的高度

b - 乐队返回

iArray - 可选预先分配的int数组

结果

指定带宽的样本为指定的像素矩形。

异常

getSamples public float[] getSamples(int x,

int y,

int w,

int h,

int b,

float[] fArray)

返回浮点数组中指定的像素矩形的指定波段的样本,每个数组元素一个样本。

如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。

但是,显式边界检查不能保证。

参数

x - 左上角像素位置的X坐标

y - 左上角像素位置的Y坐标

w - 像素矩形的宽度

h - 像素矩形的高度

b - 乐队返回

fArray - 一个可选的预先分配的浮点数组

结果

指定带宽的样本为指定的像素矩形。

异常

getSamples public double[] getSamples(int x,

int y,

int w,

int h,

int b,

double[] dArray)

返回双阵列中指定的像素矩形的指定波段的样本,每个数组元素一个样本。

如果坐标不在边界内,则可能抛出ArrayIndexOutOfBoundsException。

但是,显式边界检查不能保证。

参数

x - 左上角像素位置的X坐标

y - 左上角像素位置的Y坐标

w - 像素矩形的宽度

h - 像素矩形的高度

b - 乐队返回

dArray - 可选预分配的双阵列

结果

指定带宽的样本为指定的像素矩形。

异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
线性插值是一种常见的插值方法,它可以用于在两个已知数据点之间估计未知数据点的值。在Java中,可以使用内置的2D插值库来执行此操作。以下是一个简单的Java代码示例,演示如何使用内置的2D插值库进行线性插值: ```java import java.awt.geom.Point2D;import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.awt.image.Raster; import java.awt.image.WritableRaster; import java.util.Arrays; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class LinearInterpolation { public static void main(String[] args) { // 创建一个2D点数组 Point2D[] points = new Point2D[4]; points[0] = new Point2D.Double(0, 0); points[1] = new Point2D.Double(0, 1); points[2] = new Point2D.Double(1, 0); points[3] = new Point2D.Double(1, 1); // 创建一个2D矩形 Rectangle2D rect = new Rectangle2D.Double(0, 0, 1, 1); // 创建一个2D插值对象 BufferedImage img = new BufferedImage(2, 2, BufferedImage.TYPE_BYTE_GRAY); WritableRaster raster = img.getRaster(); Raster src = raster.createCompatibleWritableRaster(); src.setPixels(0, 0, 2, 2, new int[] { 0, 255, 255, 0, 255, 0, 0, 255 }, 0); src = src.createTranslatedChild(0, 0); Arrays.fill(((DataBufferInt) src.getDataBuffer()).getData(), 255); Graphics2D g2d = img.createGraphics(); g2d.drawRenderedImage(img, new AffineTransform()); g2d.dispose(); Interpolation2D interp = new InterpolationBilinear(); // 进行插值 double[] values = new double[4]; for (int i = 0; i < points.length; i++) { values[i] = interp.interpolate(src, points[i].getX(), points[i].getY()); } // 输出结果 System.out.println(Arrays.toString(values)); // 显示结果 JFrame frame = new JFrame(); frame.getContentPane().add(new JLabel(new ImageIcon(img))); frame.pack(); frame.setVisible(true); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值