Module java.desktop
Package 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数据类型。
  • Constructor Details

    • PixelInterleavedSampleModel

      public PixelInterleavedSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets)
      使用指定的参数构造一个PixelInterleavedSampleModel。波段的数量将由bandOffsets数组的长度确定。
      参数:
      dataType - 用于存储样本的数据类型。
      w - 描述图像数据区域的宽度(以像素为单位)。
      h - 描述图像数据区域的高度(以像素为单位)。
      pixelStride - 图像数据的像素步幅。
      scanlineStride - 图像数据的行步幅。
      bandOffsets - 所有波段的偏移量。
      抛出:
      IllegalArgumentException - 如果wh不大于0
      IllegalArgumentException - 如果任何波段之间的偏移大于扫描线步幅
      IllegalArgumentException - 如果pixelStridew的乘积大于scanlineStride
      IllegalArgumentException - 如果pixelStride小于任何波段之间的偏移
      IllegalArgumentException - 如果dataType不是支持的数据类型之一
  • Method Details

    • createCompatibleSampleModel

      public SampleModel createCompatibleSampleModel(int w, int h)
      创建一个具有指定宽度和高度的新PixelInterleavedSampleModel。新的PixelInterleavedSampleModel将具有与此PixelInterleavedSampleModel相同的波段数量、存储数据类型和像素步幅。波段偏移量可能会被压缩,以使所有波段偏移量的最小值为零。
      覆盖:
      createCompatibleSampleModel 在类 ComponentSampleModel
      参数:
      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的波段子集
      返回:
      使用来自此ComponentSampleModel的波段子集创建的ComponentSampleModel