Класс 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.
Сводка полей
Поля, унаследованные от класса 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. |
int |
hashCode() Возвращает хэш-код объекта. |
Методы, унаследованные от класса java.awt.image.ComponentSampleModel
createDataBuffer, equals, 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, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Подробное описание конструкторов
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.
hashCode
public int hashCode()
Описание скопировано из класса: Object
Возвращает хэш-код объекта. Этот метод поддерживается для использования в хэш-таблицах, таких как предоставляемые HashMap.
Общий контракт метода hashCode:
- Каждый раз, когда он вызывается на одном и том же объекте более одного раза во время выполнения Java-приложения, метод
hashCodeдолжен последовательно возвращать то же целое число, если информация, используемая в сравнениях объектовequals, не изменяется. Это целое число не обязательно должно оставаться постоянным от одного выполнения приложения к другому. - Если два объекта равны в соответствии с методом
equals(Object), то вызов методаhashCodeдля каждого из двух объектов должен дать один и тот же результат. - Не требуется, чтобы если два объекта не равны в соответствии с методом
Object.equals(java.lang.Object), то вызов методаhashCodeдля каждого из двух объектов должен давать различные целые числа. Однако программист должен понимать, что получение различных целых чисел для неравных объектов может улучшить производительность хэш-таблиц.
Насколько это практически возможно, метод hashCode, определённый классом Object, возвращает различные целые числа для различных объектов. (Это обычно реализуется путём преобразования внутреннего адреса объекта в целое число, но такая техника реализации не является обязательной для языка программирования Java™).
- Переопределяет:
-
hashCodeв классеComponentSampleModel - Возвращает:
- хэш-код этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
© 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.