Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
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, либо до истечения заданного промежутка реального времени.

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

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);
Использование getDataElements/setDataElements для передачи данных между двумя парами DataBuffer/SampleModel допустимо, если 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);
Использование getDataElements/setDataElements для передачи данных между двумя парами DataBuffer/SampleModel допустимо, если SampleModel имеют одинаковое количество каналов, соответствующие каналы имеют одинаковое количество бит на отсчет, а TransferType совпадают.

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

Параметры:
x — минимальная координата X прямоугольника пикселей.
y — минимальная координата Y прямоугольника пикселей.
w — ширина прямоугольника пикселей.
h — высота прямоугольника пикселей.
obj — если не null, примитивный массив, в который возвращаются данные пикселей.
data — DataBuffer, содержащий данные изображения.
Возвращает:
элементы данных указанной области пикселей.
Исключения:
NullPointerException — если data имеет значение null.
ArrayIndexOutOfBoundsException — если координаты выходят за допустимые границы, w или h отрицательно либо 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. Если координаты выходят за допустимые границы или obj недостаточно велик для хранения данных пикселя, может возникнуть ArrayIndexOutOfBoundsException.

Параметры:
x - Координата X положения пикселя.
y - Координата Y положения пикселя.
obj - Примитивный массив, содержащий данные пикселя.
data - DataBuffer, содержащий данные изображения.
Исключения:
NullPointerException - если obj или 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. Если координаты выходят за допустимые границы или obj недостаточно велик для хранения данных пикселя, может возникнуть ArrayIndexOutOfBoundsException.

Параметры:
x - Минимальная координата X прямоугольной области пикселей.
y - Минимальная координата Y прямоугольной области пикселей.
w - Ширина прямоугольной области пикселей.
h - Высота прямоугольной области пикселей.
obj - Примитивный массив, содержащий данные пикселей.
data - DataBuffer, содержащий данные изображения.
Исключения:
NullPointerException - если obj или 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 - если координаты выходят за допустимые границы, w или h отрицательно либо 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 - если координаты выходят за допустимые границы, w или h отрицательно либо 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 - если координаты выходят за допустимые границы, w или h отрицательно либо 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 — если координаты или индекс полосы выходят за допустимые границы, w или h отрицательно либо 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 — если координаты или индекс полосы выходят за допустимые границы, w или h отрицательно либо iArray слишком мал для размещения результата.
См. также:
  • 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 — если координаты или индекс полосы выходят за допустимые границы, w или h отрицательно либо 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 или {code 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 — если координаты выходят за допустимые границы либо dArray слишком мал для размещения входных данных.
См. также:
  • 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 — если координаты выходят за допустимые границы, w или h отрицательно либо 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 — если координаты выходят за допустимые границы, w или h отрицательно либо 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 — если координаты выходят за допустимые границы, w или h отрицательно либо 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 — если координаты или индекс канала выходят за допустимые пределы, либо w или h имеет отрицательное значение, либо 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 — если координаты или индекс канала выходят за допустимые пределы, либо w или h имеет отрицательное значение, либо 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 — если координаты или индекс канала выходят за допустимые пределы, либо w или h имеет отрицательное значение, либо 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, 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