模块  java.desktop
软件包  java.awt.image

Class PixelInterleavedSampleModel


  • public class PixelInterleavedSampleModel
    extends ComponentSampleModel
    该类表示以像素交错方式存储的图像数据,并且像素的每个样本占据DataBuffer的一个数据元素。 它是ComponentSampleModel的子类,但是为访问像素交错图像数据提供了比ComponentSampleModel提供的更有效的实现。 此类将所有波段的样本数据存储在DataBuffer的单个库中。 提供了访问器方法,以便可以直接操作图像数据。 像素跨度是同一扫描线上相同频带的两个样本之间的数据阵列元素的数量。 扫描线步幅是给定样本与下一扫描线的同一列中的相应样本之间的数据阵列元素的数量。 频带偏移表示从将每个频带保持到频带的第一个采样的DataBuffer的存储体的第一个数据数组元素中的数据数组元素的数量。 频带编号从0到N-1。 银行索引表示数据缓冲区的库与图像数据带之间的对应关系。 该类支持TYPE_BYTETYPE_USHORTTYPE_SHORTTYPE_INTTYPE_FLOATTYPE_DOUBLE数据类型。
    • 构造方法详细信息

      • 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 - 如果 wh不大于0
        IllegalArgumentException - 如果波段之间的任何偏移大于扫描线步幅
        IllegalArgumentException - 如果 pixelStridew的产品大于 scanlineStride
        IllegalArgumentException - 如果 pixelStride小于波段之间的任何偏移量
        IllegalArgumentException - 如果 dataType不是受支持的数据类型之一
    • 方法详细信息

      • createCompatibleSampleModel

        public SampleModel createCompatibleSampleModel​(int w,
                                                       int h)
        创建具有指定宽度和高度的新PixelInterleavedSampleModel。 新的PixelInterleavedSampleModel将具有与此PixelInterleavedSampleModel相同数量的波段,存储数据类型和像素跨度。 可以压缩频带偏移,使得所有频带偏移的最小值为零。
        重写:
        createCompatibleSampleModelComponentSampleModel
        参数
        w - 结果宽度为 SampleModel
        h - 结果 SampleModel的高度
        结果
        具有指定宽度和高度的新 SampleModel
        异常
        IllegalArgumentException - 如果 wh不大于0
      • createSubsetSampleModel

        public SampleModel createSubsetSampleModel​(int[] bands)
        使用此PixelInterleavedSampleModel的波段子集创建新的PixelInterleavedSampleModel。 新的PixelInterleavedSampleModel可以与现有PixelInterleavedSampleModel可以使用的任何DataBuffer一起使用。 新的PixelInterleavedSampleModel / DataBuffer组合将表示具有原始PixelInterleavedSampleModel / DataBuffer组合的波段子集的图像。
        重写:
        createSubsetSampleModel在类 ComponentSampleModel
        参数
        bands - 此 ComponentSampleModel一个 bands子集
        结果
        一个 ComponentSampleModel与乐队从这个子集创建 ComponentSampleModel