Класс PixelInterleavedSampleModel
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.Краткое описание полей
Поля, объявленные в классе ComponentSampleModel
bandOffsets, bankIndices, numBands, numBanks, pixelStride, scanlineStride
Поля, объявленные в классе SampleModel
dataType, height, width
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PixelInterleavedSampleModel |
Создаёт PixelInterleavedSampleModel с указанными параметрами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
SampleModel |
createCompatibleSampleModel |
Создаёт новый PixelInterleavedSampleModel с указанными шириной и высотой. |
SampleModel |
createSubsetSampleModel |
Создаёт новый PixelInterleavedSampleModel с подмножеством полос этого PixelInterleavedSampleModel. |
Методы, объявленные в классе 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
Методы, объявленные в классе 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 с указанными параметрами. Количество полос определяется длиной массива bandOffsets.
- Параметры:
-
dataType— тип данных для хранения отсчётов. -
w— ширина (в пикселях) описываемой области данных изображения. -
h— высота (в пикселях) описываемой области данных изображения. -
pixelStride— шаг пикселя данных изображения. -
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 можно использовать с любым DataBuffer, с которым можно использовать существующий PixelInterleavedSampleModel. Новая комбинация PixelInterleavedSampleModel/DataBuffer будет представлять изображение с подмножеством полос исходной комбинации PixelInterleavedSampleModel/DataBuffer.
- Переопределяет:
-
createSubsetSampleModelв классеComponentSampleModel - Параметры:
-
bands— подмножество полос этогоComponentSampleModel - Возвращает:
ComponentSampleModel, созданный с подмножеством полос этогоComponentSampleModel.
© 1993, 2025, 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/25/docs/api/java.desktop/java/awt/image/PixelInterleavedSampleModel.html