Класс 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
Поля, объявленные в классе SampleModel
dataType, height, width
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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
Методы, объявленные в классе SampleModel
getDataElements, getDataType, getHeight, getNumBands, getPixel, getPixel, getPixels, getPixels, getSamples, getSamples, getTransferType, getWidth, setDataElements, setPixel, setPixel, setPixels, setPixels, setSamples, setSamples
Подробное описание конструкторов
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илиInteger.MIN_VALUE -
IllegalArgumentException— еслиdataTypeне является одним из поддерживаемых типов данных
createSubsetSampleModel
public SampleModel createSubsetSampleModel(int[] bands)
- Переопределяет:
-
createSubsetSampleModelв классеComponentSampleModel - Параметры:
-
bands— подмножество полос этойComponentSampleModel - Возвращает:
ComponentSampleModel, созданную с подмножеством полос этойComponentSampleModel.- Исключения:
-
RasterFormatException— если количество полос больше количества банков в этой модели отсчётов. -
IllegalArgumentException— еслиdataTypeне является одним из поддерживаемых типов данных
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, содержащий данные изображения. - Возвращает:
- данные указанного пикселя.
- См. также:
getPixel
public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
- Переопределяет:
-
getPixelв классеComponentSampleModel - Параметры:
-
x— координата X пикселя -
y— координата Y пикселя -
iArray— если не равен null, возвращает отсчёты в этом массиве -
data— DataBuffer, содержащий данные изображения - Возвращает:
- отсчёты указанного пикселя.
- См. также:
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, содержащий данные изображения - Возвращает:
- отсчёты пикселей в указанной области.
- См. также:
getSample
public int getSample(int x, int y, int b, DataBuffer data)
- Переопределяет:
-
getSampleв классеComponentSampleModel - Параметры:
-
x— координата X пикселя -
y— координата Y пикселя -
b— возвращаемая полоса -
data— DataBuffer, содержащий данные изображения - Возвращает:
- отсчёт в указанной полосе указанного пикселя.
- См. также:
getSampleFloat
public float getSampleFloat(int x, int y, int b, DataBuffer data)
- Переопределяет:
-
getSampleFloatв классеComponentSampleModel - Параметры:
-
x— координата X пикселя -
y— координата Y пикселя -
b— возвращаемая полоса -
data— DataBuffer, содержащий данные изображения - Возвращает:
- значение float, представляющее отсчёт в указанной полосе указанного пикселя.
getSampleDouble
public double getSampleDouble(int x, int y, int b, DataBuffer data)
- Переопределяет:
-
getSampleDoubleв классеComponentSampleModel - Параметры:
-
x— координата X пикселя -
y— координата Y пикселя -
b— возвращаемая полоса -
data— DataBuffer, содержащий данные изображения - Возвращает:
- значение double, представляющее отсчёт в указанной полосе указанного пикселя.
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, содержащий данные изображения - Возвращает:
- отсчёты в указанной полосе для пикселей в заданной области.
- См. также:
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. Исключение ArrayIndexOutOfBoundsException может быть выброшено, если координаты выходят за допустимые границы или если obj недостаточно велик для хранения данных пикселя.
- Переопределяет:
-
setDataElementsв классеComponentSampleModel - Параметры:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
obj- Если не равно null, возвращает примитивный массив в этом объекте -
data- DataBuffer, содержащий данные изображения - См. также:
setPixel
public void setPixel(int x, int y, int[] iArray, DataBuffer data)
- Переопределяет:
-
setPixelв классеComponentSampleModel - Параметры:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
iArray- Входные выборки в массиве int -
data- DataBuffer, содержащий данные изображения - См. также:
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, содержащий данные изображения - См. также:
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, содержащий данные изображения - См. также:
setSample
public void setSample(int x, int y, int b, float s, DataBuffer data)
- Переопределяет:
-
setSampleв классеComponentSampleModel - Параметры:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
b- Полоса, для которой задается значение -
s- Входная выборка типа float -
data- DataBuffer, содержащий данные изображения - См. также:
setSample
public void setSample(int x, int y, int b, double s, DataBuffer data)
- Переопределяет:
-
setSampleв классеComponentSampleModel - Параметры:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
b- Полоса, для которой задается значение -
s- Входная выборка типа double -
data- DataBuffer, содержащий данные изображения - См. также:
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- Входной массив выборок -
data- DataBuffer, содержащий данные изображения - См. также:
© 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/BandedSampleModel.html