Класс BandedSampleModel
public final class BandedSampleModel extends ComponentSampleModel
TYPE_BYTE, TYPE_USHORT, TYPE_SHORT, TYPE_INT, TYPE_FLOAT и TYPE_DOUBLEКраткое описание полей
Поля, объявленные в классе ComponentSampleModel
bandOffsets, bankIndices, numBands, numBanks, pixelStride, scanlineStride | Модификатор и тип | Поле | Описание |
|---|---|---|
protected int[] |
bandOffsets |
Смещения всех полос в элементах массива данных. |
protected int[] |
bankIndices |
Индекс каждого банка, в котором хранится полоса данных изображения. |
protected int |
numBands |
Количество полос в этом ComponentSampleModel. |
protected int |
numBanks |
Количество банков в этом ComponentSampleModel. |
protected int |
pixelStride |
Шаг пикселя (в элементах массива данных) области данных изображения, описываемой этим ComponentSampleModel. |
protected int |
scanlineStride |
Шаг строки (в элементах массива данных) области данных изображения, описываемой этим ComponentSampleModel. |
Поля, объявленные в классе SampleModel
dataType, height, width | Модификатор и тип | Поле | Описание |
|---|---|---|
protected int |
dataType |
Тип данных DataBuffer, в котором хранятся данные пикселей. |
protected int |
height |
Высота в пикселях области данных изображения, описываемой этой моделью SampleModel. |
protected int |
width |
Ширина в пикселях области данных изображения, описываемой этой моделью SampleModel. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BandedSampleModel |
Создаёт BandedSampleModel с указанными параметрами. |
BandedSampleModel |
Создаёт BandedSampleModel с указанными параметрами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
SampleModel |
createCompatibleSampleModel |
Создает новую модель BandedSampleModel с указанными шириной и высотой. |
DataBuffer |
createDataBuffer() |
Создает DataBuffer, соответствующий этой модели BandedSampleModel. Тип данных, число банков и размер DataBuffer будут согласованы с этой моделью BandedSampleModel. |
SampleModel |
createSubsetSampleModel |
Создает новую модель BandedSampleModel с подмножеством полос этой модели BandedSampleModel. |
Object |
getDataElements |
Возвращает данные для одного пикселя в примитивном массиве типа TransferType. |
int[] |
getPixel |
Возвращает отсчеты указанного пикселя в массиве int, по одному отсчету на элемент массива. |
int[] |
getPixels |
Возвращает все отсчеты прямоугольной области пикселей в массиве int, по одному отсчету на элемент массива. |
int |
getSample |
Возвращает отсчет указанной полосы пикселя с координатами (x,y) в виде значения int. |
double |
getSampleDouble |
Возвращает отсчет указанной полосы пикселя с координатами (x,y) в виде значения double. |
float |
getSampleFloat |
Возвращает отсчет указанной полосы пикселя с координатами (x,y) в виде значения float. |
int[] |
getSamples |
Возвращает отсчеты указанной полосы в заданной прямоугольной области пикселей в массиве int, по одному отсчету на элемент массива. |
void |
setDataElements |
Задает данные для одного пикселя в указанном DataBuffer из примитивного массива типа TransferType. |
void |
setPixel |
Задает пиксель в DataBuffer, используя для ввода массив отсчетов типа int. |
void |
setPixels |
Задает все отсчеты прямоугольной области пикселей из массива int, содержащего по одному отсчету на элемент массива. |
void |
setSample |
Задает отсчет указанной полосы пикселя с координатами (x,y) в DataBuffer, используя для ввода значение double. |
void |
setSample |
Задает отсчет указанной полосы пикселя с координатами (x,y) в DataBuffer, используя для ввода значение float. |
void |
setSample |
Задает отсчет указанной полосы пикселя с координатами (x,y) в DataBuffer, используя для ввода значение int. |
void |
setSamples |
Задает отсчеты указанной полосы в заданной прямоугольной области пикселей из массива int, содержащего по одному отсчету на элемент массива. |
Методы, объявленные в классе ComponentSampleModel
getBandOffsets, getBankIndices, getNumDataElements, getOffset, getOffset, getPixelStride, getSampleSize, getSampleSize, getScanlineStride | Модификатор и тип | Метод | Описание |
|---|---|---|
final int[] |
getBandOffsets() |
Возвращает смещение полосы для всех полос. |
final int[] |
getBankIndices() |
Возвращает индексы банков для всех полос. |
final int |
getNumDataElements() |
Возвращает число элементов данных, необходимых для передачи пикселя с помощью методов ComponentSampleModel.getDataElements(int, int, Object, DataBuffer) и ComponentSampleModel.setDataElements(int, int, Object, DataBuffer). |
int |
getOffset |
Возвращает смещение для первой полосы пикселя (x,y). |
int |
getOffset |
Возвращает смещение для полосы b пикселя (x,y). |
final int |
getPixelStride() |
Возвращает шаг пикселя этой модели ComponentSampleModel. |
final int[] |
getSampleSize() |
Возвращает число битов на отсчет для всех полос. |
final int |
getSampleSize |
Возвращает число битов на отсчет для указанной полосы. |
final int |
getScanlineStride() |
Возвращает шаг сканирования этой модели ComponentSampleModel. |
Методы, объявленные в классе SampleModel
getDataElements, getDataType, getHeight, getNumBands, getPixel, getPixel, getPixels, getPixels, getSamples, getSamples, getTransferType, getWidth, setDataElements, setPixel, setPixel, setPixels, setPixels, setSamples, setSamples | Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
getDataElements |
Возвращает данные пикселей указанной прямоугольной области в примитивном массиве типа TransferType. |
final int |
getDataType() |
Возвращает тип данных DataBuffer, в котором хранятся данные пикселей. |
final int |
getHeight() |
Возвращает высоту в пикселях. |
final int |
getNumBands() |
Возвращает общее число полос данных изображения. |
double[] |
getPixel |
Возвращает отсчеты указанного пикселя в массиве double. |
float[] |
getPixel |
Возвращает отсчеты указанного пикселя в массиве float. |
double[] |
getPixels |
Возвращает все отсчеты прямоугольной области пикселей в массиве double, по одному отсчету на элемент массива. |
float[] |
getPixels |
Возвращает все отсчеты прямоугольной области пикселей в массиве float, по одному отсчету на элемент массива. |
double[] |
getSamples |
Возвращает отсчеты указанной полосы в заданной прямоугольной области пикселей в массиве double, по одному отсчету на элемент массива. |
float[] |
getSamples |
Возвращает отсчеты указанной полосы в заданной прямоугольной области пикселей в массиве float, по одному отсчету на элемент массива. |
int |
getTransferType() |
Возвращает TransferType, используемый для передачи пикселей с помощью методов getDataElements и setDataElements. |
final int |
getWidth() |
Возвращает ширину в пикселях. |
void |
setDataElements |
Задает данные прямоугольной области пикселей в указанном DataBuffer из примитивного массива типа TransferType. |
void |
setPixel |
Задает пиксель в DataBuffer, используя для ввода массив отсчетов типа double. |
void |
setPixel |
Задает пиксель в DataBuffer, используя для ввода массив отсчетов типа float. |
void |
setPixels |
Задает все отсчеты прямоугольной области пикселей из массива double, содержащего по одному отсчету на элемент массива. |
void |
setPixels |
Задает все отсчеты прямоугольной области пикселей из массива float, содержащего по одному отсчету на элемент массива. |
void |
setSamples |
Задает отсчеты указанной полосы в заданной прямоугольной области пикселей из массива double, содержащего по одному отсчету на элемент массива. |
void |
setSamples |
Задает отсчеты указанной полосы в заданной прямоугольной области пикселей из массива float, содержащего по одному отсчету на элемент массива. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело и подлежит удалению: этот элемент API может быть удален в будущей версии. Финализация устарела и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
BandedSampleModel
public BandedSampleModel(int dataType, int w, int h, int numBands)
- Параметры:
-
dataType— Тип данных для хранения отсчетов. -
w— Ширина (в пикселях) описываемой области данных изображения. -
h— Высота (в пикселях) описываемой области данных изображения. -
numBands— Количество полос данных изображения. - Исключения:
-
IllegalArgumentException— еслиwиhне оба больше 0 -
IllegalArgumentException— если произведениеwиhбольшеInteger.MAX_VALUE -
IllegalArgumentException— еслиnumBandsне больше 0 -
IllegalArgumentException— еслиdataTypeне является одним из поддерживаемых типов данных для этой модели отсчетов.
BandedSampleModel
public BandedSampleModel(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets)
- Параметры:
-
dataType— Тип данных для хранения отсчетов. -
w— Ширина (в пикселях) описываемой области данных изображения. -
h— Высота (в пикселях) описываемой области данных изображения. -
scanlineStride— Шаг строки данных изображения. -
bankIndices— Индекс банка для каждой полосы. -
bandOffsets— Смещение каждой полосы. - Исключения:
-
IllegalArgumentException— еслиwиhне оба больше 0 -
IllegalArgumentException— если произведениеwиhбольшеInteger.MAX_VALUE -
IllegalArgumentException— еслиscanlineStrideменьше 0 -
NullPointerException— еслиbankIndicesравноnull -
NullPointerException— еслиbandOffsetsравноnull -
IllegalArgumentException— еслиbandOffsets.lengthравно 0 -
IllegalArgumentException— если длинаbankIndicesне равна длинеbandOffsets -
IllegalArgumentException— если любой из индексов банков вbandIndicesменьше 0 -
IllegalArgumentException— еслиdataTypeне является одним из поддерживаемых типов данных для этой модели отсчетов
Подробное описание методов
createCompatibleSampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
- Переопределяет:
-
createCompatibleSampleModelв классеComponentSampleModel - Параметры:
-
w— ширина результирующейBandedSampleModel -
h— высота результирующейBandedSampleModel - Возвращает:
- новую
BandedSampleModelс указанными шириной и высотой. - Исключения:
-
IllegalArgumentException— если произведениеwиhбольшеInteger.MAX_VALUE, либоwилиhне больше 0.
createSubsetSampleModel
public SampleModel createSubsetSampleModel(int[] bands)
- Переопределяет:
-
createSubsetSampleModelв классеComponentSampleModel - Параметры:
-
bands— подмножество полос этойComponentSampleModel - Возвращает:
ComponentSampleModel, созданную с подмножеством полос этойComponentSampleModel.- Исключения:
-
NullPointerException— еслиbandsравноnull -
IllegalArgumentException— если количество полос не больше 0 -
RasterFormatException— если количество полос превышает количество банков в этой модели отсчетов. -
ArrayIndexOutOfBoundsException— если какой-либо индекс банка выходит за допустимые границы
createDataBuffer
public DataBuffer createDataBuffer()
- Переопределяет:
-
createDataBufferв классеComponentSampleModel - Возвращает:
DataBuffer, тип данных, количество банков и размер которого соответствуют этойComponentSampleModel.- Исключения:
-
IllegalArgumentException— еслиdataTypeне относится к поддерживаемым типам.
getDataElements
public Object getDataElements(int x, int y, Object obj, DataBuffer data)
Следующий код иллюстрирует передачу данных одного пикселя из DataBuffer db1, схема хранения которого описана моделью BandedSampleModel bsm1, в DataBuffer db2, схема хранения которого описана моделью BandedSampleModel bsm2. Такая передача обычно эффективнее, чем использование getPixel/setPixel.
BandedSampleModel bsm1, bsm2;
DataBufferInt db1, db2;
bsm2.setDataElements(x, y, bsm1.getDataElements(x, y, null, db1),
db2);
Использование getDataElements/setDataElements для передачи данных между парами DataBuffer/SampleModel допустимо, если модели SampleModel имеют одинаковое количество полос, соответствующие полосы имеют одинаковое количество битов на отсчет, а типы TransferType совпадают. Если obj не равен null, он должен быть примитивным массивом типа TransferType. В противном случае будет выброшено исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException может быть выброшено, если координаты выходят за допустимые границы или если obj не равен null и его размера недостаточно для хранения данных пикселя.
- Переопределяет:
-
getDataElementsв классеComponentSampleModel - Параметры:
-
x— координата X положения пикселя -
y— координата Y положения пикселя -
obj— если не равно null, примитивный массив, в который будут возвращены данные пикселя. -
data— DataBuffer, содержащий данные изображения. - Возвращает:
- данные указанного пикселя.
- Исключения:
-
NullPointerException— еслиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы или размерobjслишком мал для хранения результата. - См. также:
getPixel
public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
- Переопределяет:
-
getPixelв классеComponentSampleModel - Параметры:
-
x— координата X положения пикселя -
y— координата Y положения пикселя -
iArray— если не равно null, возвращает отсчеты в этом массиве -
data— DataBuffer, содержащий данные изображения - Возвращает:
- отсчеты указанного пикселя.
- Исключения:
-
NullPointerException— еслиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы или размерiArrayслишком мал для хранения результата. - См. также:
getPixels
public int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
- Переопределяет:
-
getPixelsв классеComponentSampleModel - Параметры:
-
x— координата X положения верхнего левого пикселя. -
y— координата Y положения верхнего левого пикселя. -
w— ширина прямоугольной области пикселей. -
h— высота прямоугольной области пикселей. -
iArray— если не равно null, возвращает отсчеты в этом массиве. -
data— DataBuffer, содержащий данные изображения. - Возвращает:
- отсчеты указанной области пикселей.
- Исключения:
-
NullPointerException— еслиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы,wилиhотрицательно либо размерiArrayслишком мал для хранения результата. - См. также:
getSample
public int getSample(int x, int y, int b, DataBuffer data)
- Переопределяет:
-
getSampleв классеComponentSampleModel - Параметры:
-
x— координата X положения пикселя. -
y— координата Y положения пикселя. -
b— полоса, отсчет которой нужно вернуть. -
data— DataBuffer, содержащий данные изображения. - Возвращает:
- отсчет указанной полосы для указанного пикселя.
- Исключения:
-
NullPointerException— еслиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы. - См. также:
getSampleFloat
public float getSampleFloat(int x, int y, int b, DataBuffer data)
- Переопределяет:
-
getSampleFloatв классеComponentSampleModel - Параметры:
-
x— координата X положения пикселя. -
y— координата Y положения пикселя. -
b— полоса, отсчет которой нужно вернуть. -
data— DataBuffer, содержащий данные изображения. - Возвращает:
- отсчет указанной полосы для указанного пикселя.
- Исключения:
-
NullPointerException— еслиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы.
getSampleDouble
public double getSampleDouble(int x, int y, int b, DataBuffer data)
- Переопределяет:
-
getSampleDoubleв классеComponentSampleModel - Параметры:
-
x— координата X положения пикселя. -
y— координата Y положения пикселя. -
b— полоса, отсчет которой нужно вернуть. -
data— DataBuffer, содержащий данные изображения. - Возвращает:
- отсчет указанной полосы для указанного пикселя.
- Исключения:
-
NullPointerException— еслиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы.
getSamples
public int[] getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
- Переопределяет:
-
getSamplesв классеComponentSampleModel - Параметры:
-
x— координата X расположения верхнего левого пикселя. -
y— координата Y расположения верхнего левого пикселя. -
w— ширина прямоугольника пикселей. -
h— высота прямоугольника пикселей. -
b— полоса, которую нужно вернуть. -
iArray— если не равно null, возвращает отсчёты в этом массиве. -
data— DataBuffer, содержащий данные изображения. - Возвращает:
- отсчёты указанной полосы для заданной области пикселей.
- Выбрасывает:
-
NullPointerException— еслиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы, либоwилиhотрицательно, либоiArrayслишком мал для размещения результата. - См. также:
setDataElements
public void setDataElements(int x, int y, Object obj, DataBuffer data)
Следующий код иллюстрирует передачу данных одного пикселя из DataBuffer db1, схема хранения которого описывается BandedSampleModel bsm1, в DataBuffer db2, схема хранения которого описывается BandedSampleModel bsm2. Как правило, передача будет эффективнее, чем использование getPixel/setPixel.
BandedSampleModel bsm1, bsm2;
DataBufferInt db1, db2;
bsm2.setDataElements(x, y, bsm1.getDataElements(x, y, null, db1),
db2);
Использование getDataElements/setDataElements для передачи данных между двумя парами DataBuffer/SampleModel допустимо, если модели SampleModel имеют одинаковое количество полос, соответствующие полосы имеют одинаковое количество бит на отсчёт, а типы TransferType совпадают. obj должен быть примитивным массивом типа TransferType. В противном случае выбрасывается исключение ClassCastException. Если координаты выходят за допустимые границы или obj недостаточно велик для хранения данных пикселя, может быть выброшено исключение ArrayIndexOutOfBoundsException.
- Переопределяет:
-
setDataElementsв классеComponentSampleModel - Параметры:
-
x— координата X расположения пикселя -
y— координата Y расположения пикселя -
obj— если не равно null, возвращает примитивный массив в этом объекте -
data— DataBuffer, содержащий данные изображения - Выбрасывает:
-
NullPointerException— еслиobjилиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы илиobjслишком мал для хранения входных данных. - См. также:
setPixel
public void setPixel(int x, int y, int[] iArray, DataBuffer data)
- Переопределяет:
-
setPixelв классеComponentSampleModel - Параметры:
-
x— координата X расположения пикселя. -
y— координата Y расположения пикселя. -
iArray— входные отсчёты в массиве int. -
data— DataBuffer, содержащий данные изображения. - Выбрасывает:
-
NullPointerException— еслиiArrayили {code data} равноnull. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы илиiArrayслишком мал для хранения входных данных. - См. также:
setPixels
public void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
- Переопределяет:
-
setPixelsв классеComponentSampleModel - Параметры:
-
x— координата X расположения верхнего левого пикселя. -
y— координата Y расположения верхнего левого пикселя. -
w— ширина прямоугольника пикселей. -
h— высота прямоугольника пикселей. -
iArray— входные отсчёты в массиве int. -
data— DataBuffer, содержащий данные изображения. - Выбрасывает:
-
NullPointerException— еслиiArrayилиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы, либоwилиhотрицательно, либоiArrayслишком мал для хранения входных данных. - См. также:
setSample
public void setSample(int x, int y, int b, int s, DataBuffer data)
- Переопределяет:
-
setSampleв классеComponentSampleModel - Параметры:
-
x— координата X расположения пикселя. -
y— координата Y расположения пикселя. -
b— полоса, которую нужно установить. -
s— входной отсчёт типа int. -
data— DataBuffer, содержащий данные изображения. - Выбрасывает:
-
NullPointerException— еслиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы. - См. также:
setSample
public void setSample(int x, int y, int b, float s, DataBuffer data)
setSample(int, int, int, DataBuffer) с этим значением int. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.- Переопределяет:
-
setSampleв классеComponentSampleModel - Параметры:
-
x— координата X расположения пикселя. -
y— координата Y расположения пикселя. -
b— полоса, которую нужно установить. -
s— входной отсчёт типа float. -
data— DataBuffer, содержащий данные изображения. - Выбрасывает:
-
NullPointerException— еслиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы. - См. также:
setSample
public void setSample(int x, int y, int b, double s, DataBuffer data)
setSample(int, int, int, DataBuffer) с этим значением int. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.- Переопределяет:
-
setSampleв классеComponentSampleModel - Параметры:
-
x— координата X расположения пикселя. -
y— координата Y расположения пикселя. -
b— полоса, которую нужно установить. -
s— входной отсчёт типа double. -
data— DataBuffer, содержащий данные изображения. - Выбрасывает:
-
NullPointerException— еслиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы. - См. также:
setSamples
public void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
- Переопределяет:
-
setSamplesв классеComponentSampleModel - Параметры:
-
x— координата X расположения верхнего левого пикселя. -
y— координата Y расположения верхнего левого пикселя. -
w— ширина прямоугольника пикселей. -
h— высота прямоугольника пикселей. -
b— полоса, которую нужно установить. -
iArray— входные отсчёты в массиве int. -
data— DataBuffer, содержащий данные изображения. - Выбрасывает:
-
NullPointerException— еслиiArrayилиdataравноnull. -
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы, либоwилиhотрицательно, либоiArrayслишком мал для хранения входных данных. - См. также:
© 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.