Spec-Zone.ru › OpenJDK 17

Класс SampleModel

java.lang.Object
java.awt.image.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.
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, содержащего один образец на элемент массива.

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

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

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

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

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. Для данных изображения, поддерживаемых 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. Передача, как правило, будет более эффективной, чем использование 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 не достаточно велик для хранения данных пикселей.

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)
END_OF_DOCUMENT_MARKER

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, используя массив с плавающей точкой для входных выборок. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты не находятся в пределах границ.
Параметры:
x - Координата X расположения пикселя.
y - Координата Y расположения пикселя.
fArray - Входные выборки в массиве с плавающей точкой.
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, используя массив с двойной точностью для входных выборок.
Параметры:
x - Координата X расположения пикселя.
y - Координата Y расположения пикселя.
dArray - Входные выборки в массиве с двойной точностью.
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)
Устанавливает все выборки для прямоугольника пикселей из массива целых чисел, содержащего по одной выборке на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты не находятся в пределах границ.
Параметры:
x - Координата X верхнего левого пикселя.
y - Координата Y верхнего левого пикселя.
w - Ширина прямоугольника пикселей.
h - Высота прямоугольника пикселей.
iArray - Входные выборки в массиве целых чисел.
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)
Устанавливает все выборки для прямоугольника пикселей из массива с плавающей точкой, содержащего по одной выборке на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты не находятся в пределах границ.
Параметры:
x - Координата X верхнего левого пикселя.
y - Координата Y верхнего левого пикселя.
w - Ширина прямоугольника пикселей.
h - Высота прямоугольника пикселей.
fArray - Входные выборки в массиве с плавающей точкой.
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)
Устанавливает все выборки для прямоугольника пикселей из массива с двойной точностью, содержащего по одной выборке на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты не находятся в пределах границ.
Параметры:
x - Координата X верхнего левого пикселя.
y - Координата Y верхнего левого пикселя.
w - Ширина прямоугольника пикселей.
h - Высота прямоугольника пикселей.
dArray - Входные выборки в массиве с двойной точностью.
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, используя целое число в качестве входных данных. Может быть выброшено исключение 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, float s, DataBuffer data)
Устанавливает выборку в указанном канале для пикселя по координатам (x, y) в DataBuffer, используя значение с плавающей точкой в качестве входных данных. Реализация по умолчанию этого метода преобразует входное значение с плавающей точкой в целое число и затем вызывает метод setSample(int, int, int, DataBuffer) с этим значением. Может быть выброшено исключение 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, используя значение с двойной точностью в качестве входных данных. Реализация по умолчанию этого метода преобразует входное значение с двойной точностью в целое число и затем вызывает метод setSample(int, int, int, DataBuffer) с этим значением. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты не находятся в пределах границ.
Параметры:
x - Координата X расположения пикселя.
y - Координата Y расположения пикселя.
b - Канал для установки.
s - Входная выборка в виде значения с двойной точностью.
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)
Устанавливает выборки в указанном канале для заданного прямоугольника пикселей из массива целых чисел, содержащего по одной выборке на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты не находятся в пределах границ.
Параметры:
x - Координата X верхнего левого пикселя.
y - Координата Y верхнего левого пикселя.
w - Ширина прямоугольника пикселей.
h - Высота прямоугольника пикселей.
b - Канал для установки.
iArray - Входные выборки в массиве целых чисел.
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)
Задает образцы в указанной полосе для заданного прямоугольника пикселей из массива с плавающей точкой, содержащего по одному образцу на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты выходят за пределы границ.
Parameters:
x - Координата X верхнего левого пикселя.
y - Координата Y верхнего левого пикселя.
w - Ширина прямоугольника пикселей.
h - Высота прямоугольника пикселей.
b - Полоса для задания.
fArray - Входные образцы в массиве с плавающей точкой.
data - DataBuffer, содержащий данные изображения.
Throws:
NullPointerException - если fArray или data равны null.
ArrayIndexOutOfBoundsException - если координаты или индекс полосы выходят за пределы границ, или если fArray недостаточно велик для хранения ввода.
See Also:
  • 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)
Задает образцы в указанной полосе для заданного прямоугольника пикселей из массива с двойной точностью, содержащего по одному образцу на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты выходят за пределы границ.
Parameters:
x - Координата X верхнего левого пикселя.
y - Координата Y верхнего левого пикселя.
w - Ширина прямоугольника пикселей.
h - Высота прямоугольника пикселей.
b - Полоса для задания.
dArray - Входные образцы в массиве с двойной точностью.
data - DataBuffer, содержащий данные изображения.
Throws:
NullPointerException - если dArray или data равны null.
ArrayIndexOutOfBoundsException - если координаты или индекс полосы выходят за пределы границ, или если dArray недостаточно велик для хранения ввода.
See Also:
  • getSamples(int, int, int, int, int, double[], DataBuffer)

createCompatibleSampleModel

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

createSubsetSampleModel

public abstract SampleModel createSubsetSampleModel(int[] bands)
Создает новый SampleModel с подмножеством полос этого SampleModel.
Parameters:
bands - подмножество полос этого SampleModel
Returns:
SampleModel с подмножеством полос этого SampleModel.

createDataBuffer

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

getSampleSize

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

getSampleSize

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

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

Spec-Zone.ru

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