Класс BandedSampleModel
public final class BandedSampleModel extends ComponentSampleModel
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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BandedSampleModel |
Создаёт BandedSampleModel со заданными параметрами. |
BandedSampleModel |
Создаёт BandedSampleModel со заданными параметрами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
SampleModel |
createCompatibleSampleModel |
Создаёт новый BandedSampleModel с заданной шириной и высотой. |
DataBuffer |
createDataBuffer() |
Создаёт DataBuffer, соответствующий этому BandedSampleModel. Тип данных, количество банков и размер DataBuffer будут согласованы с этим BandedSampleModel. |
SampleModel |
createSubsetSampleModel |
Создаёт новый BandedSampleModel с подмножеством полос этого BandedSampleModel. |
Object |
getDataElements |
Возвращает данные для одного пикселя в примитивном массиве типа TransferType. |
int[] |
getPixel |
Возвращает все образцы для указанного пикселя в массиве целых чисел. |
int[] |
getPixels |
Возвращает все образцы для указанного прямоугольника пикселей в массиве целых чисел, по одному образцу на элемент массива. |
int |
getSample |
Возвращает образец в указанной полосе для пикселя, расположенного по координатам (x,y), как целое число. |
double |
getSampleDouble |
Возвращает образец в указанной полосе для пикселя, расположенного по координатам (x,y), как двойное число. |
float |
getSampleFloat |
Возвращает образец в указанной полосе для пикселя, расположенного по координатам (x,y), как число с плавающей точкой. |
int[] |
getSamples |
Возвращает образцы в указанной полосе для указанного прямоугольника пикселей в массиве целых чисел, по одному образцу на элемент массива. |
void |
setDataElements |
Устанавливает данные для одного пикселя в указанном DataBuffer из примитивного массива типа TransferType. |
void |
setPixel |
Устанавливает пиксель в DataBuffer, используя массив целых чисел для входных образцов. |
void |
setPixels |
Устанавливает все образцы для прямоугольника пикселей из массива целых чисел, содержащего по одному образцу на элемент массива. |
void |
setSample |
Устанавливает образец в указанной полосе для пикселя, расположенного по координатам (x,y) в DataBuffer, используя двойное число для входных данных. |
void |
setSample |
Устанавливает образец в указанной полосе для пикселя, расположенного по координатам (x,y) в DataBuffer, используя число с плавающей точкой. |
void |
setSample |
Устанавливает образец в указанной полосе для пикселя, расположенного по координатам (x,y) в DataBuffer, используя целое число. |
void |
setSamples |
Устанавливает образцы в указанной полосе для указанного прямоугольника пикселей из массива целых чисел, содержащего по одному образцу на элемент массива. |
Методы, объявленные в классе java.awt.image.ComponentSampleModel
getBandOffsets, getBankIndices, getNumDataElements, getOffset, getOffset, getPixelStride, getSampleSize, getSampleSize, getScanlineStride
Методы, объявленные в классе java.awt.image.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)
- Overrides:
-
getSamplein classComponentSampleModel - Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
b- Полоса для возврата -
data- DataBuffer, содержащий данные изображения - Returns:
- образец в указанной полосе для указанного пикселя.
- See Also:
getSampleFloat
public float getSampleFloat(int x, int y, int b, DataBuffer data)
- Overrides:
-
getSampleFloatin classComponentSampleModel - Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
b- Полоса для возврата -
data- DataBuffer, содержащий данные изображения - Returns:
- значение с плавающей точкой, представляющее образец в указанной полосе для указанного пикселя.
getSampleDouble
public double getSampleDouble(int x, int y, int b, DataBuffer data)
- Overrides:
-
getSampleDoublein classComponentSampleModel - Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
b- Полоса для возврата -
data- DataBuffer, содержащий данные изображения - Returns:
- значение с двойной точностью, представляющее образец в указанной полосе для указанного пикселя.
getSamples
public int[] getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
- Overrides:
-
getSamplesin classComponentSampleModel - Parameters:
-
x- Координата X верхнего левого пикселя -
y- Координата Y верхнего левого пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
b- Полоса для возврата -
iArray- Если не null, возвращает образцы в этом массиве -
data- DataBuffer, содержащий данные изображения - Returns:
- образцы в указанной полосе для пикселей в указанной области.
- See Also:
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 недостаточно велик для хранения данных пикселя.
- Overrides:
-
setDataElementsin classComponentSampleModel - Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
obj- Если не null, возвращает примитивный массив в этом объекте -
data- DataBuffer, содержащий данные изображения - See Also:
setPixel
public void setPixel(int x, int y, int[] iArray, DataBuffer data)
- Overrides:
-
setPixelin classComponentSampleModel - Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
iArray- Входные образцы в массиве целых чисел -
data- DataBuffer, содержащий данные изображения - See Also:
setPixels
public void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
- Overrides:
-
setPixelsin classComponentSampleModel - Parameters:
-
x- Координата X верхнего левого пикселя -
y- Координата Y верхнего левого пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
iArray- Входные образцы в массиве целых чисел -
data- DataBuffer, содержащий данные изображения - See Also:
setSample
public void setSample(int x, int y, int b, int s, DataBuffer data)
- Overrides:
-
setSamplein classComponentSampleModel - Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
b- Полоса для установки -
s- Входной образец как целое число -
data- DataBuffer, содержащий данные изображения - See Also:
setSample
public void setSample(int x, int y, int b, float s, DataBuffer data)
- Overrides:
-
setSamplein classComponentSampleModel - Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
b- Полоса для установки -
s- Входной образец как число с плавающей точкой -
data- DataBuffer, содержащий данные изображения - See Also:
setSample
public void setSample(int x, int y, int b, double s, DataBuffer data)
- Overrides:
-
setSamplein classComponentSampleModel - Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
b- Полоса для установки -
s- Входной образец как число с двойной точностью -
data- DataBuffer, содержащий данные изображения - See Also:
setSamples
public void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
- Overrides:
-
setSamplesв классеComponentSampleModel - Parameters:
-
x- Координата X верхнего левого пикселя -
y- Координата Y верхнего левого пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
b- Полоса для установки -
iArray- Входной массив выборок -
data- DataBuffer, содержащий данные изображения - See Also:
© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/image/BandedSampleModel.html