- java.lang.Object
-
- java.awt.image.SampleModel
-
- java.awt.image.ComponentSampleModel
-
- java.awt.image.PixelInterleavedSampleModel
-
public class PixelInterleavedSampleModel extends ComponentSampleModel
该类表示以像素交错方式存储的图像数据,并且像素的每个样本占据DataBuffer的一个数据元素。 它是ComponentSampleModel的子类,但是为访问像素交错图像数据提供了比ComponentSampleModel提供的更有效的实现。 此类将所有波段的样本数据存储在DataBuffer的单个库中。 提供了访问器方法,以便可以直接操作图像数据。 像素跨度是同一扫描线上相同频带的两个样本之间的数据阵列元素的数量。 扫描线步幅是给定样本与下一扫描线的同一列中的相应样本之间的数据阵列元素的数量。 频带偏移表示从将每个频带保持到频带的第一个采样的DataBuffer的存储体的第一个数据数组元素中的数据数组元素的数量。 频带编号从0到N-1。 银行索引表示数据缓冲区的库与图像数据带之间的对应关系。 该类支持TYPE_BYTE
,TYPE_USHORT
,TYPE_SHORT
,TYPE_INT
,TYPE_FLOAT
和TYPE_DOUBLE
数据类型。
-
-
字段汇总
-
声明的属性在类 java.awt.image.ComponentSampleModel
bandOffsets, bankIndices, numBands, numBanks, pixelStride, scanlineStride
-
声明的属性在类 java.awt.image.SampleModel
dataType, height, width
-
-
构造方法摘要
构造方法 构造器 描述 PixelInterleavedSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets)
使用指定的参数构造PixelInterleavedSampleModel。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 SampleModel
createCompatibleSampleModel(int w, int h)
创建具有指定宽度和高度的新PixelInterleavedSampleModel。SampleModel
createSubsetSampleModel(int[] bands)
使用此PixelInterleavedSampleModel的波段子集创建新的PixelInterleavedSampleModel。-
声明方法的类 java.awt.image.ComponentSampleModel
createDataBuffer, getBandOffsets, getBankIndices, getDataElements, getNumDataElements, getOffset, getOffset, getPixel, getPixels, getPixelStride, getSample, getSampleDouble, getSampleFloat, getSamples, getSampleSize, getSampleSize, getScanlineStride, setDataElements, setPixel, setPixels, setSample, setSample, setSample, setSamples
-
声明方法的类 java.awt.image.SampleModel
getDataElements, getDataType, getHeight, getNumBands, getPixel, getPixel, getPixels, getPixels, getSamples, getSamples, getTransferType, getWidth, setDataElements, setPixel, setPixel, setPixels, setPixels, setSamples, setSamples
-
-
-
-
构造方法详细信息
-
PixelInterleavedSampleModel
public PixelInterleavedSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets)
使用指定的参数构造PixelInterleavedSampleModel。 band的数量将由bandOffsets数组的长度给出。- 参数
-
dataType
- 用于存储样本的数据类型。 -
w
- 描述的图像数据区域的宽度(以像素为单位)。 -
h
- 描述的图像数据区域的高度(以像素为单位)。 -
pixelStride
- 图像数据的像素跨度。 -
scanlineStride
- 图像数据的行scanlineStride
。 -
bandOffsets
- 所有乐队的抵消。 - 异常
-
IllegalArgumentException
- 如果w
或h
不大于0 -
IllegalArgumentException
- 如果波段之间的任何偏移大于扫描线步幅 -
IllegalArgumentException
- 如果pixelStride
和w
的产品大于scanlineStride
-
IllegalArgumentException
- 如果pixelStride
小于波段之间的任何偏移量 -
IllegalArgumentException
- 如果dataType
不是受支持的数据类型之一
-
-
方法详细信息
-
createCompatibleSampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
创建具有指定宽度和高度的新PixelInterleavedSampleModel。 新的PixelInterleavedSampleModel将具有与此PixelInterleavedSampleModel相同数量的波段,存储数据类型和像素跨度。 可以压缩频带偏移,使得所有频带偏移的最小值为零。- 重写:
-
createCompatibleSampleModel
类ComponentSampleModel
- 参数
-
w
- 结果宽度为SampleModel
-
h
- 结果SampleModel
的高度 - 结果
-
具有指定宽度和高度的新
SampleModel
。 - 异常
-
IllegalArgumentException
- 如果w
或h
不大于0
-
createSubsetSampleModel
public SampleModel createSubsetSampleModel(int[] bands)
使用此PixelInterleavedSampleModel的波段子集创建新的PixelInterleavedSampleModel。 新的PixelInterleavedSampleModel可以与现有PixelInterleavedSampleModel可以使用的任何DataBuffer一起使用。 新的PixelInterleavedSampleModel / DataBuffer组合将表示具有原始PixelInterleavedSampleModel / DataBuffer组合的波段子集的图像。- 重写:
-
createSubsetSampleModel
在类ComponentSampleModel
- 参数
-
bands
- 此ComponentSampleModel
一个bands
子集 - 结果
-
一个
ComponentSampleModel
与乐队从这个子集创建ComponentSampleModel
。
-
-