public final class BandedSampleModel extends ComponentSampleModel
TYPE_BYTE
,
TYPE_USHORT
,
TYPE_SHORT
,
TYPE_INT
,
TYPE_FLOAT
,和
TYPE_DOUBLE
数据类型
bandOffsets, bankIndices, numBands, numBanks, pixelStride, scanlineStride
dataType, height, width
Constructor and Description |
---|
BandedSampleModel(int dataType, int w, int h, int numBands)
构建一个与指定的参数bandedsamplemodel。
|
BandedSampleModel(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets)
构建一个与指定的参数bandedsamplemodel。
|
Modifier and Type | Method and Description |
---|---|
SampleModel |
createCompatibleSampleModel(int w, int h)
创建具有指定宽度和高度的一种新的bandedsamplemodel。
|
DataBuffer |
createDataBuffer()
创建一个数据缓冲区,对应于这bandedsamplemodel,数据的缓存的数据类型,一些银行和规模将与BandedSampleModel一致。
|
SampleModel |
createSubsetSampleModel(int[] bands)
创建与这BandedSampleModel的一个子集带一个新的bandedsamplemodel。
|
Object |
getDataElements(int x, int y, Object obj, DataBuffer data)
返回在一个原始的数组类型transfertype单个像素数据。
|
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 |
getSample(int x, int y, int b, DataBuffer data)
返回int样品在规定的频带的像素位于(x,y)。
|
double |
getSampleDouble(int x, int y, int b, DataBuffer data)
返回位于(X,Y)为双的像素指定的带中的样本。
|
float |
getSampleFloat(int x, int y, int b, DataBuffer data)
返回位于(X,Y)作为一个浮动的像素指定的带中的样本。
|
int[] |
getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
返回指定矩形的像素在一个int数组中指定带样本,每一样本数据的数组元素。
|
int |
hashCode()
返回一个对象的哈希代码值。
|
void |
setDataElements(int x, int y, Object obj, DataBuffer data)
设置从原始数组中指定的DataBuffer型transfertype单个像素的数据。
|
void |
setPixel(int x, int y, int[] iArray, DataBuffer data)
设置一个像素使用的样本输入一个int数组的数据缓存。
|
void |
setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
设置从一个数组的数组元素包含每一个样本像素矩形样品。
|
void |
setSample(int x, int y, int b, double s, DataBuffer data)
设置指定的带样的像素位于(x,y)使用一个双输入的数据缓存。
|
void |
setSample(int x, int y, int b, float s, DataBuffer data)
设置指定的带样的像素位于(x,y)用于输入一个浮在数据缓存。
|
void |
setSample(int x, int y, int b, int s, DataBuffer data)
设置指定的带样的像素位于(x,y)用于输入一个int的数据缓存。
|
void |
setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
设置指定矩形的像素从一个int数组包含每一样本数据数组元素中指定带样品。
|
equals, getBandOffsets, getBankIndices, getNumDataElements, getOffset, getOffset, getPixelStride, getSampleSize, getSampleSize, getScanlineStride
getDataElements, getDataType, getHeight, getNumBands, getPixel, getPixel, getPixels, getPixels, getSamples, getSamples, getTransferType, getWidth, setDataElements, setPixel, setPixel, setPixels, setPixels, setSamples, setSamples
public BandedSampleModel(int dataType, int w, int h, int numBands)
dataType
-样品的存储的数据类型。
w
的宽度(像素)的图像数据描述区域。
h
-高度(像素)的图像数据描述区域。
numBands
-图像数据条带数。
IllegalArgumentException
-如果
dataType
之一是不支持的数据类型
public BandedSampleModel(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets)
dataType
-样品的存储的数据类型。
w
的宽度(像素)的图像数据描述区域。
h
-高度(像素)的图像数据描述区域。
scanlineStride
对图像数据的行步。
bankIndices
-每个波段的银行指数。
bandOffsets
-带偏移每个波段。
IllegalArgumentException
-如果
dataType
之一是不支持的数据类型
public SampleModel createCompatibleSampleModel(int w, int h)
createCompatibleSampleModel
方法重写,继承类
ComponentSampleModel
w
-产生的
BandedSampleModel
宽度
h
-产生的
BandedSampleModel
高度
BandedSampleModel
。
IllegalArgumentException
-如果
w
或
h
等于或
Integer.MIN_VALUE
Integer.MAX_VALUE
IllegalArgumentException
-如果
dataType
之一是不支持的数据类型
public SampleModel createSubsetSampleModel(int[] bands)
createSubsetSampleModel
方法重写,继承类
ComponentSampleModel
bands
-从这个
ComponentSampleModel
一个子带
ComponentSampleModel
ComponentSampleModel
子集乐队创造了。
RasterFormatException
如果带的数量大于该样本模型的银行数量。
IllegalArgumentException
-如果
dataType
之一是不支持的数据类型
public DataBuffer createDataBuffer()
createDataBuffer
方法重写,继承类
ComponentSampleModel
DataBuffer
其数据类型、银行和数与本
ComponentSampleModel
一致。
IllegalArgumentException
-如果
dataType
是不受支持的类型。
public Object getDataElements(int x, int y, Object obj, DataBuffer data)
下面的代码演示了一个像素传输数据从缓冲db1
,其存储布局是通过bandedsamplemodel bsm1
描述,对数据缓存db2
,其存储布局是通过bandedsamplemodel bsm2
描述。转移通常会比使用GetPixel / SetPixel更有效。
bandedsamplemodel BSM1,BSM2;databufferint DB1、DB2;BSM2。setdataelements(x,y,Bsm1。getdataelements(x,y,null,DB1),DB2);使用getdataelements / setdataelements两缓冲/ samplemodel如果SampleModels有相同数量的频带对合法之间传送带,对应每个样本的位数相同的号码,和transfertypes是相同的。
如果obj是非空的,它应该是一个原始的阵列式transfertype。否则,抛出ClassCastException。一个对象的大小时抛出可能如果坐标不界泛起,或如果obj是非空,不足以容纳像素数据。
getDataElements
方法重写,继承类
ComponentSampleModel
x
的像素位置的x坐标
y
的像素位置的y坐标
obj
如果非空,其中原始数组返回像素数据。
data
-包含图像数据的数据缓冲区。
setDataElements(int, int, Object, DataBuffer)
public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
getPixel
方法重写,继承类
ComponentSampleModel
x
的像素位置的x坐标
y
的像素位置的y坐标
iArray
如果非零,返回这个数组的样品
data
-包含图像数据的数据缓冲区
setPixel(int, int, int[], DataBuffer)
public int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
getPixels
方法重写,继承类
ComponentSampleModel
x
-左上角像素位置的x坐标
y
-左上角像素位置的y坐标
w
-像素矩形的宽度
h
-像素矩形的高度
iArray
如果非零,返回这个数组的样品
data
-包含图像数据的数据缓冲区
setPixels(int, int, int, int, int[], DataBuffer)
public int getSample(int x, int y, int b, DataBuffer data)
getSample
方法重写,继承类
ComponentSampleModel
x
的像素位置的x坐标
y
的像素位置的y坐标
b
-带回来
data
-包含图像数据的数据缓冲区
setSample(int, int, int, int, DataBuffer)
public float getSampleFloat(int x, int y, int b, DataBuffer data)
getSampleFloat
方法重写,继承类
ComponentSampleModel
x
的像素位置的x坐标
y
的像素位置的y坐标
b
-带回来
data
-包含图像数据的数据缓冲区
public double getSampleDouble(int x, int y, int b, DataBuffer data)
getSampleDouble
方法重写,继承类
ComponentSampleModel
x
的像素位置的x坐标
y
的像素位置的y坐标
b
-带回来
data
-包含图像数据的数据缓冲区
public int[] getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
getSamples
方法重写,继承类
ComponentSampleModel
x
-左上角像素位置的x坐标
y
-左上角像素位置的y坐标
w
-像素矩形的宽度
h
-像素矩形的高度
b
-带回来
iArray
如果非零,返回这个数组的样品
data
-包含图像数据的数据缓冲区
setSamples(int, int, int, int, int, int[], DataBuffer)
public void setDataElements(int x, int y, Object obj, DataBuffer data)
下面的代码演示了一个像素数据传输从DataBuffer db1
,其存储布局是通过bandedsamplemodel bsm1
描述,DataBuffer db2
,其存储布局是通过bandedsamplemodel bsm2
描述。转移通常会比使用GetPixel / SetPixel更有效。
bandedsamplemodel BSM1,BSM2;databufferint DB1、DB2;BSM2。setdataelements(x,y,Bsm1。getdataelements(x,y,null,DB1),DB2);使用getdataelements / setdataelements两缓冲/ samplemodel如果SampleModels有相同数量的频带对合法之间传送带,对应每个样本的位数相同的号码,和transfertypes是相同的。
目标必须是一个原始的数组类型transfertype。否则,抛出ClassCastException。一个对象的大小时抛出可能如果坐标不界泛起,或如果obj是不够容纳的像素数据。
setDataElements
方法重写,继承类
ComponentSampleModel
x
的像素位置的x坐标
y
的像素位置的y坐标
obj
如果非零,返回此对象的原始数组
data
-包含图像数据的数据缓冲区
getDataElements(int, int, Object, DataBuffer)
public void setPixel(int x, int y, int[] iArray, DataBuffer data)
setPixel
方法重写,继承类
ComponentSampleModel
x
的像素位置的x坐标
y
的像素位置的y坐标
iArray
-在一个int数组的输入样本
data
-包含图像数据的数据缓冲区
getPixel(int, int, int[], DataBuffer)
public void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
setPixels
方法重写,继承类
ComponentSampleModel
x
-左上角像素位置的x坐标
y
-左上角像素位置的y坐标
w
-像素矩形的宽度
h
-像素矩形的高度
iArray
-在一个int数组的输入样本
data
-包含图像数据的数据缓冲区
getPixels(int, int, int, int, int[], DataBuffer)
public void setSample(int x, int y, int b, int s, DataBuffer data)
setSample
方法重写,继承类
ComponentSampleModel
x
的像素位置的x坐标
y
的像素位置的y坐标
b
-带套
s
-输入样本作为int
data
-包含图像数据的数据缓冲区
getSample(int, int, int, DataBuffer)
public void setSample(int x, int y, int b, float s, DataBuffer data)
setSample
方法重写,继承类
ComponentSampleModel
x
的像素位置的x坐标
y
的像素位置的y坐标
b
-带套
s
-输入样本为一个浮动
data
-包含图像数据的数据缓冲区
getSample(int, int, int, DataBuffer)
public void setSample(int x, int y, int b, double s, DataBuffer data)
setSample
方法重写,继承类
ComponentSampleModel
x
的像素位置的x坐标
y
的像素位置的y坐标
b
-带套
s
-输入样本为双
data
-包含图像数据的数据缓冲区
getSample(int, int, int, DataBuffer)
public void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
setSamples
方法重写,继承类
ComponentSampleModel
x
-左上角像素位置的x坐标
y
-左上角像素位置的y坐标
w
-像素矩形的宽度
h
-像素矩形的高度
b
-带套
iArray
-输入样本阵列
data
-包含图像数据的数据缓冲区
getSamples(int, int, int, int, int, int[], DataBuffer)
public int hashCode()
Object
HashMap
利益支持。
对hashCode
一般合同:
hashCode
方法总是返回相同的整数,没有提供信息用于equals
比较的对象被修改。这个整数不需要保持一致,从一个应用程序的一个执行到另一个执行相同的应用程序。equals(Object)
法两个对象是相等的,那么调用hashCode
方法每一个对象必须产生相同的整数结果。Object.equals(java.lang.Object)
法两个对象是不平等的,然后调用hashCode
方法每一个对象必须产生不同的整数结果。然而,程序员应该意识到,产生不同的整数结果的不平等的对象可能会提高哈希表的性能。尽合理的切实可行,由类Object
定义hashCode方法返回不同的对象不同的整数。(这通常是通过将该对象的内部地址转换成一个整数,但这不是实现实现技术的™java编程语言。要求)
hashCode
方法重写,继承类
ComponentSampleModel
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
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.