Spec-Zone.ru › OpenJDK 27

Класс BandedSampleModel

java.lang.Object
java.awt.image.SampleModel
java.awt.image.ComponentSampleModel
java.awt.image.BandedSampleModel
public final class BandedSampleModel extends ComponentSampleModel
Этот класс представляет данные изображения, хранящиеся в чередующемся по полосам формате, где каждый отсчёт пикселя занимает один элемент данных в DataBuffer. Он является подклассом ComponentSampleModel, но обеспечивает более эффективную реализацию доступа к данным изображения, чередующимся по полосам, чем ComponentSampleModel. Обычно этот класс следует использовать при работе с изображениями, данные отсчётов каждой полосы которых хранятся в отдельном банке DataBuffer. Для непосредственной обработки данных изображения предусмотрены методы доступа. Шаг пикселя — это количество элементов массива данных между двумя отсчётами одной полосы в одной строке сканирования. Для BandedSampleModel шаг пикселя равен единице. Шаг строки сканирования — это количество элементов массива данных между заданным отсчётом и соответствующим отсчётом в том же столбце следующей строки сканирования. Смещения полос задают количество элементов массива данных от первого элемента массива данных банка DataBuffer, содержащего каждую полосу, до первого отсчёта этой полосы. Полосы нумеруются от 0 до N-1. Индексы банков задают соответствие между банком буфера данных и полосой данных изображения. Этот класс поддерживает типы данных 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(int dataType, int w, int h, int numBands)
Создаёт BandedSampleModel с указанными параметрами.
BandedSampleModel(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets)
Создаёт BandedSampleModel с указанными параметрами.

Краткое описание методов

Модификатор и тип Метод Описание
SampleModel createCompatibleSampleModel(int w, int h)
Создает новую модель BandedSampleModel с указанными шириной и высотой.
DataBuffer createDataBuffer()
Создает DataBuffer, соответствующий этой модели BandedSampleModel. Тип данных, число банков и размер DataBuffer будут согласованы с этой моделью BandedSampleModel.
SampleModel createSubsetSampleModel(int[] bands)
Создает новую модель BandedSampleModel с подмножеством полос этой модели BandedSampleModel.
Object getDataElements(int x, int y, Object obj, DataBuffer data)
Возвращает данные для одного пикселя в примитивном массиве типа TransferType.
int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
Возвращает отсчеты указанного пикселя в массиве int, по одному отсчету на элемент массива.
int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
Возвращает все отсчеты прямоугольной области пикселей в массиве int, по одному отсчету на элемент массива.
int getSample(int x, int y, int b, DataBuffer data)
Возвращает отсчет указанной полосы пикселя с координатами (x,y) в виде значения int.
double getSampleDouble(int x, int y, int b, DataBuffer data)
Возвращает отсчет указанной полосы пикселя с координатами (x,y) в виде значения double.
float getSampleFloat(int x, int y, int b, DataBuffer data)
Возвращает отсчет указанной полосы пикселя с координатами (x,y) в виде значения float.
int[] getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
Возвращает отсчеты указанной полосы в заданной прямоугольной области пикселей в массиве int, по одному отсчету на элемент массива.
void setDataElements(int x, int y, Object obj, DataBuffer data)
Задает данные для одного пикселя в указанном DataBuffer из примитивного массива типа TransferType.
void setPixel(int x, int y, int[] iArray, DataBuffer data)
Задает пиксель в DataBuffer, используя для ввода массив отсчетов типа int.
void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
Задает все отсчеты прямоугольной области пикселей из массива int, содержащего по одному отсчету на элемент массива.
void setSample(int x, int y, int b, double s, DataBuffer data)
Задает отсчет указанной полосы пикселя с координатами (x,y) в DataBuffer, используя для ввода значение double.
void setSample(int x, int y, int b, float s, DataBuffer data)
Задает отсчет указанной полосы пикселя с координатами (x,y) в DataBuffer, используя для ввода значение float.
void setSample(int x, int y, int b, int s, DataBuffer data)
Задает отсчет указанной полосы пикселя с координатами (x,y) в DataBuffer, используя для ввода значение int.
void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
Задает отсчеты указанной полосы в заданной прямоугольной области пикселей из массива 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(int x, int y)
Возвращает смещение для первой полосы пикселя (x,y).
int getOffset(int x, int y, int b)
Возвращает смещение для полосы b пикселя (x,y).
final int getPixelStride()
Возвращает шаг пикселя этой модели ComponentSampleModel.
final int[] getSampleSize()
Возвращает число битов на отсчет для всех полос.
final int getSampleSize(int band)
Возвращает число битов на отсчет для указанной полосы.
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(int x, int y, int w, int h, Object obj, DataBuffer data)
Возвращает данные пикселей указанной прямоугольной области в примитивном массиве типа TransferType.
final int getDataType()
Возвращает тип данных DataBuffer, в котором хранятся данные пикселей.
final int getHeight()
Возвращает высоту в пикселях.
final int getNumBands()
Возвращает общее число полос данных изображения.
double[] getPixel(int x, int y, double[] dArray, DataBuffer data)
Возвращает отсчеты указанного пикселя в массиве double.
float[] getPixel(int x, int y, float[] fArray, DataBuffer data)
Возвращает отсчеты указанного пикселя в массиве float.
double[] getPixels(int x, int y, int w, int h, double[] dArray, DataBuffer data)
Возвращает все отсчеты прямоугольной области пикселей в массиве double, по одному отсчету на элемент массива.
float[] getPixels(int x, int y, int w, int h, float[] fArray, DataBuffer data)
Возвращает все отсчеты прямоугольной области пикселей в массиве float, по одному отсчету на элемент массива.
double[] getSamples(int x, int y, int w, int h, int b, double[] dArray, DataBuffer data)
Возвращает отсчеты указанной полосы в заданной прямоугольной области пикселей в массиве double, по одному отсчету на элемент массива.
float[] getSamples(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data)
Возвращает отсчеты указанной полосы в заданной прямоугольной области пикселей в массиве float, по одному отсчету на элемент массива.
int getTransferType()
Возвращает TransferType, используемый для передачи пикселей с помощью методов getDataElements и setDataElements.
final int getWidth()
Возвращает ширину в пикселях.
void setDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
Задает данные прямоугольной области пикселей в указанном DataBuffer из примитивного массива типа TransferType.
void setPixel(int x, int y, double[] dArray, DataBuffer data)
Задает пиксель в DataBuffer, используя для ввода массив отсчетов типа double.
void setPixel(int x, int y, float[] fArray, DataBuffer data)
Задает пиксель в DataBuffer, используя для ввода массив отсчетов типа float.
void setPixels(int x, int y, int w, int h, double[] dArray, DataBuffer data)
Задает все отсчеты прямоугольной области пикселей из массива double, содержащего по одному отсчету на элемент массива.
void setPixels(int x, int y, int w, int h, float[] fArray, DataBuffer data)
Задает все отсчеты прямоугольной области пикселей из массива float, содержащего по одному отсчету на элемент массива.
void setSamples(int x, int y, int w, int h, int b, double[] dArray, DataBuffer data)
Задает отсчеты указанной полосы в заданной прямоугольной области пикселей из массива double, содержащего по одному отсчету на элемент массива.
void setSamples(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data)
Задает отсчеты указанной полосы в заданной прямоугольной области пикселей из массива float, содержащего по одному отсчету на элемент массива.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
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(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

BandedSampleModel

public BandedSampleModel(int dataType, int w, int h, int numBands)
Создает BandedSampleModel с указанными параметрами. Шаг пикселей равен одному элементу данных. Шаг сканирования строки равен ширине. Каждая полоса хранится в отдельном банке, а смещения всех полос равны нулю.
Параметры:
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)
Создает BandedSampleModel с указанными параметрами. Количество полос определяется по длине массивов bandOffsets и bankIndices, которая должна быть одинаковой. Шаг пикселей равен одному элементу данных.
Параметры:
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)
Создает новую модель BandedSampleModel с указанными шириной и высотой. Новая модель BandedSampleModel будет иметь то же количество полос, тот же тип данных хранения и те же индексы банков, что и эта модель BandedSampleModel. Смещения полос будут сжаты таким образом, что расстояние между полосами составит w*pixelStride, а минимальное смещение всех полос будет равно нулю.
Переопределяет:
createCompatibleSampleModel в классе ComponentSampleModel
Параметры:
w — ширина результирующей BandedSampleModel
h — высота результирующей BandedSampleModel
Возвращает:
новую BandedSampleModel с указанными шириной и высотой.
Исключения:
IllegalArgumentException — если произведение w и h больше Integer.MAX_VALUE, либо w или h не больше 0.

createSubsetSampleModel

public SampleModel createSubsetSampleModel(int[] bands)
Создает новую модель BandedSampleModel с подмножеством полос этой модели BandedSampleModel. Новую модель BandedSampleModel можно использовать с любым DataBuffer, с которым можно использовать существующую модель BandedSampleModel. Новая комбинация BandedSampleModel/DataBuffer будет представлять изображение с подмножеством полос исходной комбинации BandedSampleModel/DataBuffer.
Переопределяет:
createSubsetSampleModel в классе ComponentSampleModel
Параметры:
bands — подмножество полос этой ComponentSampleModel
Возвращает:
ComponentSampleModel, созданную с подмножеством полос этой ComponentSampleModel.
Исключения:
NullPointerException — если bands равно null
IllegalArgumentException — если количество полос не больше 0
RasterFormatException — если количество полос превышает количество банков в этой модели отсчетов.
ArrayIndexOutOfBoundsException — если какой-либо индекс банка выходит за допустимые границы

createDataBuffer

public DataBuffer createDataBuffer()
Создает DataBuffer, соответствующий этой модели BandedSampleModel. Тип данных, количество банков и размер DataBuffer будут соответствовать этой модели BandedSampleModel.
Переопределяет:
createDataBuffer в классе ComponentSampleModel
Возвращает:
DataBuffer, тип данных, количество банков и размер которого соответствуют этой ComponentSampleModel.
Исключения:
IllegalArgumentException — если dataType не относится к поддерживаемым типам.

getDataElements

public Object getDataElements(int x, int y, Object obj, DataBuffer data)
Возвращает данные для одного пикселя в примитивном массиве типа TransferType. Для BandedSampleModel он совпадает с типом данных, а отсчеты возвращаются по одному на элемент массива. Обычно obj следует передавать равным null, чтобы объект был создан автоматически и имел правильный примитивный тип данных.

Следующий код иллюстрирует передачу данных одного пикселя из 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 слишком мал для хранения результата.
См. также:
  • setDataElements(int, int, Object, DataBuffer)

getPixel

public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
Возвращает отсчеты указанного пикселя в массиве int, по одному отсчету на элемент массива. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
getPixel в классе ComponentSampleModel
Параметры:
x — координата X положения пикселя
y — координата Y положения пикселя
iArray — если не равно null, возвращает отсчеты в этом массиве
data — DataBuffer, содержащий данные изображения
Возвращает:
отсчеты указанного пикселя.
Исключения:
NullPointerException — если data равно null.
ArrayIndexOutOfBoundsException — если координаты выходят за допустимые границы или размер iArray слишком мал для хранения результата.
См. также:
  • SampleModel.setPixel(int, int, int[], DataBuffer)

getPixels

public int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
Возвращает все отсчеты прямоугольной области пикселей в массиве int, по одному отсчету на элемент массива. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
getPixels в классе ComponentSampleModel
Параметры:
x — координата X положения верхнего левого пикселя.
y — координата Y положения верхнего левого пикселя.
w — ширина прямоугольной области пикселей.
h — высота прямоугольной области пикселей.
iArray — если не равно null, возвращает отсчеты в этом массиве.
data — DataBuffer, содержащий данные изображения.
Возвращает:
отсчеты указанной области пикселей.
Исключения:
NullPointerException — если data равно null.
ArrayIndexOutOfBoundsException — если координаты выходят за допустимые границы, w или h отрицательно либо размер iArray слишком мал для хранения результата.
См. также:
  • SampleModel.setPixels(int, int, int, int, int[], DataBuffer)

getSample

public int getSample(int x, int y, int b, DataBuffer data)
Возвращает отсчет в указанной полосе для пикселя с координатами (x,y) в виде значения int. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
getSample в классе ComponentSampleModel
Параметры:
x — координата X положения пикселя.
y — координата Y положения пикселя.
b — полоса, отсчет которой нужно вернуть.
data — DataBuffer, содержащий данные изображения.
Возвращает:
отсчет указанной полосы для указанного пикселя.
Исключения:
NullPointerException — если data равно null.
ArrayIndexOutOfBoundsException — если координаты или индекс полосы выходят за допустимые границы.
См. также:
  • SampleModel.setSample(int, int, int, int, DataBuffer)

getSampleFloat

public float getSampleFloat(int x, int y, int b, DataBuffer data)
Возвращает отсчет в указанной полосе для пикселя с координатами (x,y) в виде значения float. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
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)
Возвращает отсчет в указанной полосе для пикселя с координатами (x,y) в виде значения double. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
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)
Возвращает отсчёты указанной полосы для заданного прямоугольника пикселей в массиве int, по одному отсчёту на элемент массива. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
getSamples в классе ComponentSampleModel
Параметры:
x — координата X расположения верхнего левого пикселя.
y — координата Y расположения верхнего левого пикселя.
w — ширина прямоугольника пикселей.
h — высота прямоугольника пикселей.
b — полоса, которую нужно вернуть.
iArray — если не равно null, возвращает отсчёты в этом массиве.
data — DataBuffer, содержащий данные изображения.
Возвращает:
отсчёты указанной полосы для заданной области пикселей.
Выбрасывает:
NullPointerException — если data равно null.
ArrayIndexOutOfBoundsException — если координаты или индекс полосы выходят за допустимые границы, либо w или h отрицательно, либо iArray слишком мал для размещения результата.
См. также:
  • SampleModel.setSamples(int, int, int, int, int, int[], DataBuffer)

setDataElements

public void setDataElements(int x, int y, Object obj, DataBuffer data)
Устанавливает данные для одного пикселя в указанном DataBuffer из примитивного массива типа TransferType. Для BandedSampleModel этот тип совпадает с типом данных, а отсчёты передаются по одному на элемент массива.

Следующий код иллюстрирует передачу данных одного пикселя из 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 слишком мал для хранения входных данных.
См. также:
  • getDataElements(int, int, Object, DataBuffer)

setPixel

public void setPixel(int x, int y, int[] iArray, DataBuffer data)
Устанавливает пиксель в DataBuffer, используя для ввода массив int с отсчётами. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
setPixel в классе ComponentSampleModel
Параметры:
x — координата X расположения пикселя.
y — координата Y расположения пикселя.
iArray — входные отсчёты в массиве int.
data — DataBuffer, содержащий данные изображения.
Выбрасывает:
NullPointerException — если iArray или {code data} равно null.
ArrayIndexOutOfBoundsException — если координаты выходят за допустимые границы или iArray слишком мал для хранения входных данных.
См. также:
  • SampleModel.getPixel(int, int, int[], DataBuffer)

setPixels

public void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
Устанавливает все отсчёты для прямоугольника пикселей из массива int, содержащего по одному отсчёту на элемент массива. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
setPixels в классе ComponentSampleModel
Параметры:
x — координата X расположения верхнего левого пикселя.
y — координата Y расположения верхнего левого пикселя.
w — ширина прямоугольника пикселей.
h — высота прямоугольника пикселей.
iArray — входные отсчёты в массиве int.
data — DataBuffer, содержащий данные изображения.
Выбрасывает:
NullPointerException — если iArray или data равно null.
ArrayIndexOutOfBoundsException — если координаты выходят за допустимые границы, либо w или h отрицательно, либо iArray слишком мал для хранения входных данных.
См. также:
  • SampleModel.getPixels(int, int, int, int, int[], DataBuffer)

setSample

public void setSample(int x, int y, int b, int s, DataBuffer data)
Устанавливает отсчёт указанной полосы для пикселя, расположенного в точке (x,y) в DataBuffer, используя для ввода значение int. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
setSample в классе ComponentSampleModel
Параметры:
x — координата X расположения пикселя.
y — координата Y расположения пикселя.
b — полоса, которую нужно установить.
s — входной отсчёт типа int.
data — DataBuffer, содержащий данные изображения.
Выбрасывает:
NullPointerException — если data равно null.
ArrayIndexOutOfBoundsException — если координаты или индекс полосы выходят за допустимые границы.
См. также:
  • SampleModel.getSample(int, int, int, DataBuffer)

setSample

public void setSample(int x, int y, int b, float s, DataBuffer data)
Устанавливает отсчёт указанной полосы для пикселя, расположенного в точке (x,y) в DataBuffer, используя для ввода значение float. Реализация этого метода по умолчанию преобразует входной отсчёт float в int, а затем вызывает метод setSample(int, int, int, DataBuffer) с этим значением int. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
setSample в классе ComponentSampleModel
Параметры:
x — координата X расположения пикселя.
y — координата Y расположения пикселя.
b — полоса, которую нужно установить.
s — входной отсчёт типа float.
data — DataBuffer, содержащий данные изображения.
Выбрасывает:
NullPointerException — если data равно null.
ArrayIndexOutOfBoundsException — если координаты или индекс полосы выходят за допустимые границы.
См. также:
  • SampleModel.getSample(int, int, int, DataBuffer)

setSample

public void setSample(int x, int y, int b, double s, DataBuffer data)
Устанавливает отсчёт указанной полосы для пикселя, расположенного в точке (x,y) в DataBuffer, используя для ввода значение double. Реализация этого метода по умолчанию преобразует входной отсчёт double в int, а затем вызывает метод setSample(int, int, int, DataBuffer) с этим значением int. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
setSample в классе ComponentSampleModel
Параметры:
x — координата X расположения пикселя.
y — координата Y расположения пикселя.
b — полоса, которую нужно установить.
s — входной отсчёт типа double.
data — DataBuffer, содержащий данные изображения.
Выбрасывает:
NullPointerException — если data равно null.
ArrayIndexOutOfBoundsException — если координаты или индекс полосы выходят за допустимые границы.
См. также:
  • SampleModel.getSample(int, int, int, DataBuffer)

setSamples

public void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
Устанавливает отсчёты указанной полосы для заданного прямоугольника пикселей из массива int, содержащего по одному отсчёту на элемент массива. Если координаты выходят за допустимые границы, может быть выброшено исключение ArrayIndexOutOfBoundsException.
Переопределяет:
setSamples в классе ComponentSampleModel
Параметры:
x — координата X расположения верхнего левого пикселя.
y — координата Y расположения верхнего левого пикселя.
w — ширина прямоугольника пикселей.
h — высота прямоугольника пикселей.
b — полоса, которую нужно установить.
iArray — входные отсчёты в массиве int.
data — DataBuffer, содержащий данные изображения.
Выбрасывает:
NullPointerException — если iArray или data равно null.
ArrayIndexOutOfBoundsException — если координаты или индекс полосы выходят за допустимые границы, либо w или h отрицательно, либо iArray слишком мал для хранения входных данных.
См. также:
  • SampleModel.getSamples(int, int, int, int, int, int[], DataBuffer)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её дочерних компаний в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API