Класс SampleModel

Прямые известные подклассы:
ComponentSampleModel, MultiPixelPackedSampleModel, SinglePixelPackedSampleModel
public abstract class SampleModel
extends Object

Этот абстрактный класс определяет интерфейс для извлечения образцов пикселей на изображении. Все данные изображения выражены как набор пикселей. Каждый пиксел состоит из ряда образцов. Образец — это данные для одного канала изображения, а канал состоит из всех образцов определённого типа на изображении. Например, пиксел может содержать три образца, представляющие его компоненты красный, зелёный и синий. На изображении, содержащем этот пиксел, есть три канала. Один канал состоит из всех красных образцов со всех пикселей на изображении. Второй канал состоит из всех зелёных образцов, а оставшийся канал состоит из всех синих образцов. Пиксел может храниться в различных форматах. Например, все образцы из определённого канала могут храниться непрерывно или все образцы из одного пикселя могут храниться непрерывно.

Подклассы SampleModel задают типы образцов, которые они могут представлять (например, беззнаковый 8-битовый байт, знаковый 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.

int getDataType()

Возвращает тип данных DataBuffer, хранящего пиксельные данные.

int getHeight()

Возвращает высоту в пикселях.

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), как целое число.

double getSampleDouble​(int x, int y, int b, DataBuffer data)

Возвращает выборку в указанной полосе для пикселя, расположенного в координатах (x, y), как число с плавающей точкой двойной точности.

float getSampleFloat​(int x, int y, int b, DataBuffer data)

Возвращает выборку в указанной полосе для пикселя, расположенного в координатах (x, y), как число с плавающей точкой одинарной точности.

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.

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, содержащего по одной выборке на элемент массива.

Методы, унаследованные от класса java.lang.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 не является одним из поддерживаемых типов данных

Методы

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 - если данные равны 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 допустимо, если SampleModels имеют одинаковое количество полос, соответствующие полосы имеют одинаковое количество бит на образец, и TransferTypes одинаковые.

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

Параметры:
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 допустимо, если SampleModels имеют одинаковое количество полос, соответствующие полосы имеют одинаковое количество бит на образец, и TransferTypes одинаковые.

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

Параметры:
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. Для данных изображения, поддерживаемых API Java 2D, это будет один из 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 допустимо, если SampleModels имеют одинаковое количество полос, соответствующие полосы имеют одинаковое количество бит на образец, и TransferTypes одинаковые.

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

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

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

Parameters:
x - Минимальная координата X пиксельного прямоугольника.
y - Минимальная координата Y пиксельного прямоугольника.
w - Ширина пиксельного прямоугольника.
h - Высота пиксельного прямоугольника.
obj - Примитивный массив, содержащий данные пикселей.
data - DataBuffer, содержащий данные изображения.
Throws:
NullPointerException - если данные равны null.
ArrayIndexOutOfBoundsException - если координаты вне границ, или если obj слишком мал, чтобы вместить входные данные.
See Also:
getNumDataElements(), getTransferType(), getDataElements(int, int, int, int, Object, DataBuffer), DataBuffer

getPixel

public float[] getPixel(int x,
                        int y,
                        float[] fArray,
                        DataBuffer data)

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

Parameters:
x - Координата X пиксельного расположения.
y - Координата Y пиксельного расположения.
fArray - Если не null, возвращает образцы в этом массиве.
data - DataBuffer, содержащий данные изображения.
Returns:
образцы для указанного пикселя.
Throws:
NullPointerException - если данные равны null.
ArrayIndexOutOfBoundsException - если координаты вне границ, или если fArray слишком мал, чтобы вместить выходные данные.
See Also:
setPixel(int, int, float[], DataBuffer)

getPixel

public double[] getPixel(int x,
                         int y,
                         double[] dArray,
                         DataBuffer data)

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

Parameters:
x - Координата X пиксельного расположения.
y - Координата Y пиксельного расположения.
dArray - Если не null, возвращает образцы в этом массиве.
data - DataBuffer, содержащий данные изображения.
Returns:
образцы для указанного пикселя.
Throws:
NullPointerException - если данные равны null.
ArrayIndexOutOfBoundsException - если координаты вне границ, или если dArray слишком мал, чтобы вместить выходные данные.
See Also:
setPixel(int, int, double[], DataBuffer)

getPixels

public int[] getPixels(int x,
                       int y,
                       int w,
                       int h,
                       int[] iArray,
                       DataBuffer data)

Возвращает все образцы для прямоугольника пикселей в массиве int, один образец на элемент массива. Исключение ArrayIndexOutOfBoundsException может быть выброшено, если координаты находятся вне границ.

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

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

Parameters:
x - Координата X левого верхнего пиксельного расположения.
y - Координата Y левого верхнего пиксельного расположения.
w - Ширина пиксельного прямоугольника.
h - Высота пиксельного прямоугольника.
dArray - Если не null, возвращает образцы в этом массиве.
data - DataBuffer, содержащий данные изображения.
Returns:
образцы для указанной области пикселей.
Throws:
NullPointerException - если данные равны null.
ArrayIndexOutOfBoundsException - если координаты вне границ, или если dArray слишком мал, чтобы вместить выходные данные.
See Also:
setPixels(int, int, int, int, double[], DataBuffer)

getSample

public abstract int getSample(int x,
                              int y,
                              int b,
                              DataBuffer data)

Возвращает образец в указанной полосе для пикселя, расположенного в точке (x,y), как int. Исключение ArrayIndexOutOfBoundsException может быть выброшено, если координаты находятся вне границ.

Parameters:
x - Координата X пиксельного расположения.
y - Координата Y пиксельного расположения.
b - Полоса для возврата.
data - DataBuffer, содержащий данные изображения.
Returns:
образец в указанной полосе для указанного пикселя.
Throws:
NullPointerException - если данные равны null.
ArrayIndexOutOfBoundsException - если координаты или индекс полосы находятся вне границ.
See Also:
setSample(int, int, int, int, DataBuffer)

getSampleFloat

public float getSampleFloat(int x,
                            int y,
                            int b,
                            DataBuffer data)

Возвращает образец в указанной полосе для пикселя, расположенного в точке (x,y), как float. Исключение ArrayIndexOutOfBoundsException может быть выброшено, если координаты находятся вне границ.

Parameters:
x - Координата X пиксельного расположения.
y - Координата Y пиксельного расположения.
b - Полоса для возврата.
data - DataBuffer, содержащий данные изображения.
Returns:
образец в указанной полосе для указанного пикселя.
Throws:
NullPointerException - если данные равны null.
ArrayIndexOutOfBoundsException - если координаты или индекс полосы находятся вне границ.

getSampleDouble

public double getSampleDouble(int x,
                              int y,
                              int b,
                              DataBuffer data)

Возвращает образец в указанной полосе для пикселя, расположенного в точке (x,y), как double. Исключение ArrayIndexOutOfBoundsException может быть выброшено, если координаты находятся вне границ.

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

© 1993, 2020, 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/11/docs/api/java.desktop/java/awt/image/SampleModel.html

Spec-Zone .ru
спецификации, руководства, описания, API