Класс 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

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

PixelInterleavedSampleModel

public PixelInterleavedSampleModel(int dataType,
                                   int w,
                                   int h,
                                   int pixelStride,
                                   int scanlineStride,
                                   int[] bandOffsets)

Создает PixelInterleavedSampleModel со специфицированными параметрами. Количество каналов будет задано длиной массива bandOffsets.

Parameters:
dataType - Тип данных для хранения образцов.
w - Ширина (в пикселях) области данных изображения.
h - Высота (в пикселях) области данных изображения.
pixelStride - Шаг пикселя данных изображения.
scanlineStride - Шаг строки данных изображения.
bandOffsets - Смещения всех каналов.
Throws:
IllegalArgumentException - если w или h не больше 0
IllegalArgumentException - если любое смещение между каналами больше шага строки сканирования
IllegalArgumentException - если произведение pixelStride и w больше scanlineStride
IllegalArgumentException - если pixelStride меньше любого смещения между каналами
IllegalArgumentException - если dataType не является одним из поддерживаемых типов данных

Подробное описание методов

createCompatibleSampleModel

public SampleModel createCompatibleSampleModel(int w,
                                               int h)

Создает новый PixelInterleavedSampleModel с указанной шириной и высотой. Новый PixelInterleavedSampleModel будет иметь то же количество каналов, тип данных хранения и шаг пикселя, что и этот PixelInterleavedSampleModel. Смещения каналов могут быть сжаты так, что минимум всех смещений каналов равен нулю.

Overrides:
createCompatibleSampleModel в классе ComponentSampleModel
Parameters:
w - ширина полученного SampleModel
h - высота полученного SampleModel
Returns:
новый SampleModel с указанной шириной и высотой.
Throws:
IllegalArgumentException - если w или h не больше 0

createSubsetSampleModel

public SampleModel createSubsetSampleModel(int[] bands)

Создает новый PixelInterleavedSampleModel с подмножеством каналов этого PixelInterleavedSampleModel. Новый PixelInterleavedSampleModel может быть использован с любым DataBuffer, с которым может быть использован существующий PixelInterleavedSampleModel. Новая комбинация PixelInterleavedSampleModel/DataBuffer будет представлять изображение с подмножеством каналов исходной комбинации PixelInterleavedSampleModel/DataBuffer.

Overrides:
createSubsetSampleModel в классе ComponentSampleModel
Parameters:
bands - подмножество каналов из этого ComponentSampleModel
Returns:
PixelInterleavedSampleModel, созданный с подмножеством каналов из этого PixelInterleavedSampleModel.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/image/PixelInterleavedSampleModel.html

Spec-Zone .ru
спецификации, руководства, описания, API