Spec-Zone.ru › OpenJDK 25

Класс SampleModel

java.lang.Object
java.awt.image.SampleModel
Прямые известные подклассы:
ComponentSampleModel, MultiPixelPackedSampleModel, SinglePixelPackedSampleModel
public abstract class SampleModel extends Object
Этот абстрактный класс определяет интерфейс для извлечения отсчётов пикселей изображения. Все данные изображения представлены как совокупность пикселей. Каждый пиксель состоит из некоторого количества отсчётов. Отсчёт — это значение для одной полосы изображения, а полоса состоит из всех отсчётов определённого типа в изображении. Например, пиксель может содержать три отсчёта, представляющих красную, зелёную и синюю компоненты. Изображение, содержащее этот пиксель, имеет три полосы. Одна полоса состоит из всех красных отсчётов всех пикселей изображения. Вторая полоса состоит из всех зелёных отсчётов, а оставшаяся — из всех синих отсчётов. Пиксель может храниться в различных форматах. Например, все отсчёты одной полосы могут храниться последовательно или последовательно могут храниться все отсчёты одного пикселя.

Подклассы SampleModel указывают типы отсчётов, которые они могут представлять (например, беззнаковый 8-битный byte, знаковый 16-битный short и т. д.), а также могут задавать способ организации отсчётов в памяти. В API Java 2D(tm) встроенные операторы обработки изображений могут работать не со всеми возможными типами отсчётов, но обычно поддерживают беззнаковые целочисленные отсчёты размером не более 16 бит. Некоторые операторы поддерживают более широкий набор типов отсчётов.

Совокупность пикселей представлена объектом Raster, который состоит из DataBuffer и SampleModel. SampleModel обеспечивает доступ к отсчётам в DataBuffer и может предоставлять низкоуровневую информацию, позволяющую программисту напрямую манипулировать отсчётами и пикселями в DataBuffer.

Этот класс обычно служит запасным способом работы с изображениями. Более эффективный код преобразует SampleModel к соответствующему подклассу и извлекает сведения, необходимые для непосредственной обработки пикселей в DataBuffer.

См. также:
  • DataBuffer
  • Raster
  • ComponentSampleModel
  • PixelInterleavedSampleModel
  • BandedSampleModel
  • MultiPixelPackedSampleModel
  • SinglePixelPackedSampleModel

Краткое описание полей

Модификатор и тип Поле Описание
protected int dataType
Тип данных DataBuffer, в котором хранятся данные пикселей.
protected int height
Высота в пикселях области данных изображения, описываемой этим SampleModel.
protected int numBands
Количество полос данных изображения, описываемых этим SampleModel.
protected int width
Ширина в пикселях области данных изображения, описываемой этим SampleModel.

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

Конструктор Описание
SampleModel(int dataType, int w, int h, int numBands)
Создаёт SampleModel с указанными параметрами.

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

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

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

width

protected int width
Ширина в пикселях области данных изображения, которую описывает этот SampleModel.

height

protected int height
Высота в пикселях области данных изображения, которую описывает этот SampleModel.

numBands

protected int numBands
Количество полос данных изображения, которые описывает этот SampleModel.

dataType

protected int dataType
Тип данных DataBuffer, в котором хранятся данные пикселей.
См. также:
  • DataBuffer

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

SampleModel

public SampleModel(int dataType, int w, int h, int numBands)
Создает SampleModel с указанными параметрами.
Параметры:
dataType — тип данных DataBuffer, в котором хранятся данные пикселей.
w — ширина области данных изображения (в пикселях).
h — высота области данных изображения (в пикселях).
numBands — количество полос данных изображения.
Исключения:
IllegalArgumentException — если w или h не больше 0
IllegalArgumentException — если произведение w и h больше Integer.MAX_VALUE
IllegalArgumentException — если dataType не является одной из предопределенных меток типов данных в классе DataBuffer
IllegalArgumentException — если numBands меньше 1

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

getWidth

public final int getWidth()
Возвращает ширину в пикселях.
Возвращает:
ширину в пикселях области данных изображения, которую описывает этот SampleModel.

getHeight

public final int getHeight()
Возвращает высоту в пикселях.
Возвращает:
высоту в пикселях области данных изображения, которую описывает этот SampleModel.

getNumBands

public final int getNumBands()
Возвращает общее количество полос данных изображения.
Возвращает:
количество полос данных изображения, которые описывает этот SampleModel.

getNumDataElements

public abstract int getNumDataElements()
Возвращает количество элементов данных, необходимых для передачи пикселя с помощью методов getDataElements и setDataElements. При передаче пикселей этими методами они могут передаваться в упакованном или распакованном формате в зависимости от реализации SampleModel. При использовании этих методов пиксели передаются в виде массива из getNumDataElements() элементов примитивного типа, задаваемого методом getTransferType(). TransferType может совпадать или не совпадать с типом хранимых данных DataType.
Возвращает:
количество элементов данных.
См. также:
  • getDataElements(int, int, Object, DataBuffer)
  • getDataElements(int, int, int, int, Object, DataBuffer)
  • setDataElements(int, int, Object, DataBuffer)
  • setDataElements(int, int, int, int, Object, DataBuffer)
  • getTransferType()

getDataType

public final int getDataType()
Возвращает тип данных DataBuffer, в котором хранятся данные пикселей.
Возвращает:
тип данных.

getTransferType

public int getTransferType()
Возвращает TransferType, используемый для передачи пикселей с помощью методов getDataElements и setDataElements. При передаче пикселей этими методами они могут передаваться в упакованном или распакованном формате в зависимости от реализации SampleModel. При использовании этих методов пиксели передаются в виде массива из getNumDataElements() элементов примитивного типа, задаваемого методом getTransferType(). TransferType может совпадать или не совпадать с типом хранимых данных DataType. TransferType будет одним из типов, определенных в DataBuffer.
Возвращает:
тип передачи.
См. также:
  • getDataElements(int, int, Object, DataBuffer)
  • getDataElements(int, int, int, int, Object, DataBuffer)
  • setDataElements(int, int, Object, DataBuffer)
  • setDataElements(int, int, int, int, Object, DataBuffer)
  • getNumDataElements()
  • DataBuffer

getPixel

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

getDataElements

public abstract Object getDataElements(int x, int y, Object obj, DataBuffer data)
Возвращает данные одного пикселя в примитивном массиве типа TransferType. Для данных изображения, поддерживаемых API Java 2D, это будет один из типов DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT или DataBuffer.TYPE_DOUBLE. Данные могут возвращаться в упакованном формате, что повышает эффективность передачи данных. Как правило, параметр obj следует передавать равным null, чтобы объект был создан автоматически и имел правильный примитивный тип данных.

В следующем фрагменте кода показана передача данных одного пикселя из DataBuffer db1, схема хранения данных которого описывается SampleModel sm1, в DataBuffer db2, схема хранения данных которого описывается SampleModel sm2. Обычно такая передача эффективнее, чем использование getPixel/setPixel.

      SampleModel sm1, sm2;
      DataBuffer db1, db2;
      sm2.setDataElements(x, y, sm1.getDataElements(x, y, null, db1), db2);
Передача данных между двумя парами DataBuffer/SampleModel с помощью getDataElements/setDataElements допустима, если SampleModel имеют одинаковое количество полос, соответствующие полосы содержат одинаковое количество бит на отсчет, а TransferType совпадают.

Если obj не равно null, оно должно быть примитивным массивом типа TransferType. В противном случае выбрасывается исключение ClassCastException. Если координаты выходят за допустимые границы или если obj не равно null и его размера недостаточно для хранения данных пикселя, может быть выброшено исключение ArrayIndexOutOfBoundsException.

Параметры:
x — координата X положения пикселя.
y — координата Y положения пикселя.
obj — если не равно null, примитивный массив, в который будут возвращены данные пикселя.
data — DataBuffer, содержащий данные изображения.
Возвращает:
элементы данных указанного пикселя.
Исключения:
NullPointerException — если data равно null.
ArrayIndexOutOfBoundsException — если координаты выходят за допустимые границы или если obj слишком мал для хранения результата.
См. также:
  • getNumDataElements()
  • getTransferType()
  • DataBuffer
  • setDataElements(int, int, Object, DataBuffer)

getDataElements

public Object getDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
Возвращает данные пикселей указанной прямоугольной области в примитивном массиве типа TransferType. Для данных изображения, поддерживаемых API Java 2D, это будет один из типов DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT или DataBuffer.TYPE_DOUBLE. Данные могут возвращаться в упакованном формате, что повышает эффективность передачи данных. Как правило, параметр obj следует передавать равным null, чтобы объект был создан автоматически и имел правильный примитивный тип данных.

В следующем фрагменте кода показана передача данных прямоугольной области пикселей из DataBuffer db1, схема хранения данных которого описывается SampleModel sm1, в DataBuffer db2, схема хранения данных которого описывается SampleModel sm2. Обычно такая передача эффективнее, чем использование getPixels/setPixels.

      SampleModel sm1, sm2;
      DataBuffer db1, db2;
      sm2.setDataElements(x, y, w, h, sm1.getDataElements(x, y, w,
                          h, null, db1), db2);
Передача данных между двумя парами DataBuffer/SampleModel с помощью getDataElements/setDataElements допустима, если SampleModel имеют одинаковое количество полос, соответствующие полосы содержат одинаковое количество бит на отсчет, а TransferType совпадают.

Если obj не равно null, оно должно быть примитивным массивом типа TransferType. В противном случае выбрасывается исключение ClassCastException. Если координаты выходят за допустимые границы или если obj не равно null и его размера недостаточно для хранения данных пикселя, может быть выброшено исключение ArrayIndexOutOfBoundsException.

Параметры:
x — минимальная координата X прямоугольной области пикселей.
y — минимальная координата Y прямоугольной области пикселей.
w — ширина прямоугольной области пикселей.
h — высота прямоугольной области пикселей.
obj — если не равно null, примитивный массив, в который будут возвращены данные пикселей.
data — DataBuffer, содержащий данные изображения.
Возвращает:
элементы данных указанной области пикселей.
Исключения:
NullPointerException — если data равно null.
ArrayIndexOutOfBoundsException — если координаты выходят за допустимые границы или если obj слишком мал для хранения результата.
См. также:
  • getNumDataElements()
  • getTransferType()
  • setDataElements(int, int, int, int, Object, DataBuffer)
  • DataBuffer

setDataElements

public abstract void setDataElements(int x, int y, Object obj, DataBuffer data)
Задает данные для одного пикселя в указанном DataBuffer из примитивного массива типа TransferType. Для данных изображения, поддерживаемых Java 2D API, это будет один из типов DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT или DataBuffer.TYPE_DOUBLE. Данные в массиве могут иметь упакованный формат, что повышает эффективность передачи данных.

В следующем фрагменте кода показана передача данных для одного пикселя из DataBuffer db1, схема хранения которого описана в SampleModel sm1, в DataBuffer db2, схема хранения которого описана в SampleModel sm2. Как правило, такая передача будет эффективнее, чем использование getPixel/setPixel.

      SampleModel sm1, sm2;
      DataBuffer db1, db2;
      sm2.setDataElements(x, y, sm1.getDataElements(x, y, null, db1),
                          db2);
Использование getDataElements/setDataElements для передачи данных между двумя парами DataBuffer/SampleModel допустимо, если SampleModel имеют одинаковое количество полос, соответствующие полосы имеют одинаковое число бит на отсчет, а TransferType совпадают.

obj должен быть примитивным массивом типа TransferType. В противном случае выбрасывается ClassCastException. ArrayIndexOutOfBoundsException может быть выброшено, если координаты выходят за допустимые границы или если obj недостаточно велик для хранения данных пикселя.

Параметры:
x — координата X положения пикселя.
y — координата Y положения пикселя.
obj — примитивный массив, содержащий данные пикселя.
data — DataBuffer, содержащий данные изображения.
Исключения:
NullPointerException — если data равен null.
ArrayIndexOutOfBoundsException — если координаты выходят за допустимые границы или obj слишком мал для хранения входных данных.
См. также:
  • getNumDataElements()
  • getTransferType()
  • getDataElements(int, int, Object, DataBuffer)
  • DataBuffer

setDataElements

public void setDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
Задает данные для прямоугольной области пикселей в указанном DataBuffer из примитивного массива типа TransferType. Для данных изображения, поддерживаемых Java 2D API, это будет один из типов DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT или DataBuffer.TYPE_DOUBLE. Данные в массиве могут иметь упакованный формат, что повышает эффективность передачи данных.

В следующем фрагменте кода показана передача данных для прямоугольной области пикселей из DataBuffer db1, схема хранения которого описана в SampleModel sm1, в DataBuffer db2, схема хранения которого описана в SampleModel sm2. Как правило, такая передача будет эффективнее, чем использование getPixels/setPixels.

      SampleModel sm1, sm2;
      DataBuffer db1, db2;
      sm2.setDataElements(x, y, w, h, sm1.getDataElements(x, y, w, h,
                          null, db1), db2);
Использование getDataElements/setDataElements для передачи данных между двумя парами DataBuffer/SampleModel допустимо, если SampleModel имеют одинаковое количество полос, соответствующие полосы имеют одинаковое число бит на отсчет, а TransferType совпадают.

obj должен быть примитивным массивом типа TransferType. В противном случае выбрасывается ClassCastException. ArrayIndexOutOfBoundsException может быть выброшено, если координаты выходят за допустимые границы или если obj недостаточно велик для хранения данных пикселя.

Параметры:
x — минимальная координата X прямоугольной области пикселей.
y — минимальная координата Y прямоугольной области пикселей.
w — ширина прямоугольной области пикселей.
h — высота прямоугольной области пикселей.
obj — примитивный массив, содержащий данные пикселей.
data — DataBuffer, содержащий данные изображения.
Исключения:
NullPointerException — если data равен null.
ArrayIndexOutOfBoundsException — если координаты выходят за допустимые границы или obj слишком мал для хранения входных данных.
См. также:
  • getNumDataElements()
  • getTransferType()
  • getDataElements(int, int, int, int, Object, DataBuffer)
  • DataBuffer

getPixel

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

getPixel

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

getPixels

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

getPixels

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

getPixels

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

getSample

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

getSampleFloat

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

getSamples

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

getSamples

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

setPixel

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

setPixel

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

setPixel

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

setPixels

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

setPixels

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

setPixels

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

setSample

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

setSamples

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

setSamples

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

createCompatibleSampleModel

public abstract SampleModel createCompatibleSampleModel(int w, int h)
Создаёт SampleModel, описывающую данные в формате этой SampleModel, но с другой шириной и высотой.
Параметры:
w - ширина данных изображения
h - высота данных изображения
Возвращает:
SampleModel, описывающую те же данные изображения, что и эта SampleModel, но с другим размером.

createSubsetSampleModel

public abstract SampleModel createSubsetSampleModel(int[] bands)
Создаёт новую SampleModel с подмножеством полос этой SampleModel.
Параметры:
bands - подмножество полос этой SampleModel
Возвращает:
SampleModel с подмножеством полос этой SampleModel.

createDataBuffer

public abstract DataBuffer createDataBuffer()
Создаёт DataBuffer, соответствующий этой SampleModel. Ширина и высота DataBuffer будут совпадать с шириной и высотой этой SampleModel.
Возвращает:
DataBuffer, соответствующий этой SampleModel.

getSampleSize

public abstract int[] getSampleSize()
Возвращает размер отсчётов в битах для всех полос.
Возвращает:
размер отсчётов для всех полос.

getSampleSize

public abstract int getSampleSize(int band)
Возвращает размер отсчётов в битах для указанной полосы.
Параметры:
band - указанная полоса
Возвращает:
размер отсчётов указанной полосы.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/image/SampleModel.html

Spec-Zone.ru

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