Spec-Zone.ru › OpenJDK 17

Класс Raster

java.lang.Object
java.awt.image.Raster
Прямые известные подклассы:
WritableRaster
public class Raster extends Object
Класс, представляющий прямоугольный массив пикселей. Raster инкапсулирует DataBuffer, хранящий значения выборок, и SampleModel, описывающий, как найти заданное значение выборки в DataBuffer.

Raster определяет значения для пикселей, занимающих определённую прямоугольную область плоскости, не обязательно включающую (0, 0). Прямоугольник, известный как ограничительный прямоугольник Raster и доступный с помощью метода getBounds, определяется значениями minX, minY, width и height. Значения minX и minY определяют координату левого верхнего угла Raster. Ссылки на пиксели за пределами ограничительного прямоугольника могут привести к выбрасыванию исключения или ссылкам на непреднамеренные элементы связанного DataBuffer. Пользователь несёт ответственность за избегание доступа к таким пикселям.

SampleModel описывает, как образцы Raster хранятся в элементах примитивного массива DataBuffer. Образцы могут храниться по одному на элемент данных, как в PixelInterleavedSampleModel или BandedSampleModel, или упакованы по несколько в элемент, как в SinglePixelPackedSampleModel или MultiPixelPackedSampleModel. SampleModel также управляет расширением знака, позволяя хранить беззнаковые данные в знаковом Java-типах данных, таких как byte, short и int.

Хотя Raster может находиться где угодно на плоскости, SampleModel использует простую систему координат, начинающуюся с (0, 0). Поэтому Raster содержит коэффициент перевода, который позволяет сопоставлять местоположения пикселей между системой координат Raster и SampleModel. Перевод из системы координат SampleModel в систему координат Raster можно получить с помощью методов getSampleModelTranslateX и getSampleModelTranslateY.

Raster может совместно использовать DataBuffer с другим Raster, как явно при построении, так и с помощью методов createChild и createTranslatedChild. Rasters, созданные этими методами, могут возвращать ссылку на Raster, из которого они были созданы, с помощью метода getParent. Для Raster, который не был создан с помощью вызова createTranslatedChild или createChild, getParent вернёт null.

Метод createTranslatedChild возвращает новый Raster, который разделяет все данные текущего Raster, но занимает ограничительный прямоугольник той же ширины и высоты, но с другой начальной точкой. Например, если родительский Raster занимал область от (10, 10) до (100, 100), а Raster перевода был определён так, чтобы начинаться в (50, 50), то пиксель (20, 20) родителя и пиксель (60, 60) ребёнка занимают одно и то же место в DataBuffer, разделяемом двумя Rasters. В первом случае к координатам пикселя необходимо добавить (-10, -10), чтобы получить соответствующие координаты SampleModel, а во втором случае (-50, -50).

Перевод между родительским и дочерним Raster может быть определён путём вычитания значений sampleModelTranslateX и sampleModelTranslateY ребёнка из значений родителя.

Метод createChild может использоваться для создания нового Raster, занимающего только часть ограничительного прямоугольника родителя (с той же или с переведённой системой координат) или с подмножеством полос родителя.

Все конструкторы защищены. Правильный способ создания Raster — использование одного из статических методов create, определённых в этом классе. Эти методы создают экземпляры Raster, которые используют стандартные SampleModels Interleaved, Banded и Packed и которые могут обрабатываться более эффективно, чем Raster, созданный путём объединения внешне сгенерированного SampleModel и DataBuffer.

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

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

Модификатор и тип Поле Описание
protected DataBuffer dataBuffer
DataBuffer, хранящий данные изображения.
protected int height
Высота этого Raster.
protected int minX
Координата X левого верхнего пикселя этого Raster.
protected int minY
Координата Y левого верхнего пикселя этого Raster.
protected int numBands
Количество полос в Raster.
protected int numDataElements
Количество элементов данных DataBuffer на пиксель.
protected Raster parent
Родитель этого Raster, или null.
protected SampleModel sampleModel
SampleModel, описывающий, как пиксели из этого Raster хранятся в DataBuffer.
protected int sampleModelTranslateX
X-перевод из пространства координат SampleModel Raster в пространство координат самого Raster.
protected int sampleModelTranslateY
Y-перевод из пространства координат SampleModel Raster в пространство координат самого Raster.
protected int width
Ширина этого Raster.

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

Raster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
Raster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion, Point sampleModelTranslate, Raster parent)
Raster(SampleModel sampleModel, Point origin)
Модификатор Конструктор Описание
protected
Конструирует Raster с заданным SampleModel и DataBuffer.
protected
Конструирует Raster с заданным SampleModel, DataBuffer и родителем.
protected
Конструирует Raster с заданным SampleModel.

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

Модификатор и тип Метод Описание
static WritableRaster createBandedRaster(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
Создаёт растр на основе BandedSampleModel со заданным типом данных, шириной, высотой, шагом сканирования, индексами банка и смещениями полос.
static WritableRaster createBandedRaster(int dataType, int w, int h, int bands, Point location)
Создаёт растр на основе BandedSampleModel со заданным типом данных, шириной, высотой и количеством полос.
static WritableRaster createBandedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
Создаёт растр на основе BandedSampleModel с указанным DataBuffer, шириной, высотой, шагом сканирования, индексами банка и смещениями полос.
Raster createChild(int parentX, int parentY, int width, int height, int childMinX, int childMinY, int[] bandList)
Возвращает новый растр, который разделяет весь или часть DataBuffer этого растра.
WritableRaster createCompatibleWritableRaster()
Создаёт совместимый записываемый растр такого же размера, как этот растр, с тем же SampleModel и новым инициализированным DataBuffer.
WritableRaster createCompatibleWritableRaster(int w, int h)
Создаёт совместимый записываемый растр с указанным размером, новым SampleModel и новым инициализированным DataBuffer.
WritableRaster createCompatibleWritableRaster(int x, int y, int w, int h)
Создаёт совместимый записываемый растр с указанным расположением (minX, minY) и размером (width, height), новым SampleModel и новым инициализированным DataBuffer.
WritableRaster createCompatibleWritableRaster(Rectangle rect)
Создаёт совместимый записываемый растр с расположением (minX, minY) и размером (width, height), заданными rect, новым SampleModel и новым инициализированным DataBuffer.
static WritableRaster createInterleavedRaster(int dataType, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
Создаёт растр на основе PixelInterleavedSampleModel со заданным типом данных, шириной, высотой, шагом сканирования, шагом пикселя и смещениями полос.
static WritableRaster createInterleavedRaster(int dataType, int w, int h, int bands, Point location)
Создаёт растр на основе PixelInterleavedSampleModel со заданным типом данных, шириной, высотой и количеством полос.
static WritableRaster createInterleavedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
Создаёт растр на основе PixelInterleavedSampleModel с указанным DataBuffer, шириной, высотой, шагом сканирования, шагом пикселя и смещениями полос.
static WritableRaster createPackedRaster(int dataType, int w, int h, int[] bandMasks, Point location)
Создаёт растр на основе SinglePixelPackedSampleModel со заданным типом данных, шириной, высотой и масками полос.
static WritableRaster createPackedRaster(int dataType, int w, int h, int bands, int bitsPerBand, Point location)
Создаёт растр на основе упакованного SampleModel со заданным типом данных, шириной, высотой, количеством полос и битами на полосу.
static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bandMasks, Point location)
Создаёт растр на основе SinglePixelPackedSampleModel с указанным DataBuffer, шириной, высотой, шагом сканирования и масками полос.
static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int bitsPerPixel, Point location)
Создаёт растр на основе MultiPixelPackedSampleModel с указанным DataBuffer, шириной, высотой и битами на пиксель.
static Raster createRaster(SampleModel sm, DataBuffer db, Point location)
Создаёт растр с указанным SampleModel и DataBuffer.
Raster createTranslatedChild(int childMinX, int childMinY)
Создаёт растр с такими же размерами, SampleModel и DataBuffer, как у этого, но с другим расположением.
static WritableRaster createWritableRaster(SampleModel sm, DataBuffer db, Point location)
Создаёт записываемый растр с указанным SampleModel и DataBuffer.
static WritableRaster createWritableRaster(SampleModel sm, Point location)
Создаёт записываемый растр с указанным SampleModel.
Rectangle getBounds()
Возвращает ограничивающую прямоугольную область этого растра.
DataBuffer getDataBuffer()
Возвращает DataBuffer, связанный с этим растром.
Object getDataElements(int x, int y, int w, int h, Object outData)
Возвращает пиксельные данные для указанного прямоугольника пикселей в примитивном массиве типа TransferType.
Object getDataElements(int x, int y, Object outData)
Возвращает данные для одного пикселя в примитивном массиве типа TransferType.
final int getHeight()
Возвращает высоту растра в пикселях.
final int getMinX()
Возвращает минимальную допустимую координату X растра.
final int getMinY()
Возвращает минимальную допустимую координату Y растра.
final int getNumBands()
Возвращает количество полос (образцов на пиксель) в этом растре.
final int getNumDataElements()
Возвращает количество элементов данных, необходимых для передачи одного пикселя через методы getDataElements и setDataElements.
Raster getParent()
Возвращает родительский растр (если есть) этого растра или null.
double[] getPixel(int x, int y, double[] dArray)
Возвращает образцы в массиве double для указанного пикселя.
float[] getPixel(int x, int y, float[] fArray)
Возвращает образцы в массиве float для указанного пикселя.
int[] getPixel(int x, int y, int[] iArray)
Возвращает образцы в массиве int для указанного пикселя.
double[] getPixels(int x, int y, int w, int h, double[] dArray)
Возвращает массив double, содержащий все образцы для прямоугольника пикселей, по одному образцу на элемент массива.
float[] getPixels(int x, int y, int w, int h, float[] fArray)
Возвращает массив float, содержащий все образцы для прямоугольника пикселей, по одному образцу на элемент массива.
int[] getPixels(int x, int y, int w, int h, int[] iArray)
Возвращает массив int, содержащий все образцы для прямоугольника пикселей, по одному образцу на элемент массива.
int getSample(int x, int y, int b)
Возвращает образец в указанной полосе для пикселя, расположенного в (x, y), как int.
double getSampleDouble(int x, int y, int b)
Возвращает образец в указанной полосе для пикселя, расположенного в (x, y), как double.
float getSampleFloat(int x, int y, int b)
Возвращает образец в указанной полосе для пикселя, расположенного в (x, y), как float.
SampleModel getSampleModel()
Возвращает SampleModel, описывающий расположение данных изображения.
final int getSampleModelTranslateX()
Возвращает смещение X из системы координат SampleModel в систему координат растра.
final int getSampleModelTranslateY()
Возвращает смещение Y из системы координат SampleModel в систему координат растра.
double[] getSamples(int x, int y, int w, int h, int b, double[] dArray)
Возвращает образцы для указанной полосы для указанного прямоугольника пикселей в массиве double, по одному образцу на элемент массива.
float[] getSamples(int x, int y, int w, int h, int b, float[] fArray)
Возвращает образцы для указанной полосы для указанного прямоугольника пикселей в массиве float, по одному образцу на элемент массива.
int[] getSamples(int x, int y, int w, int h, int b, int[] iArray)
Возвращает образцы для указанной полосы для указанного прямоугольника пикселей в массиве int, по одному образцу на элемент массива.
final int getTransferType()
Возвращает TransferType, используемый для передачи пикселей через методы getDataElements и setDataElements.
final int getWidth()
Возвращает ширину растра в пикселях.

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

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

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

sampleModel

protected SampleModel sampleModel
Образец модели, описывающий, как пиксели из этого растра хранятся в буфере данных.

dataBuffer

protected DataBuffer dataBuffer
Буфер данных, хранящий данные изображения.

minX

protected int minX
Координата X левого верхнего пикселя этого растра.

minY

protected int minY
Координата Y левого верхнего пикселя этого растра.

width

protected int width
Ширина этого растра.

height

protected int height
Высота этого растра.

sampleModelTranslateX

protected int sampleModelTranslateX
Смещение по оси X от координатного пространства SampleModel растра до координатного пространства самого растра.

sampleModelTranslateY

protected int sampleModelTranslateY
Смещение по оси Y от координатного пространства SampleModel растра до координатного пространства самого растра.

numBands

protected int numBands
Количество полос в растре.

numDataElements

protected int numDataElements
Количество элементов данных DataBuffer на пиксель.

parent

protected Raster parent
Родитель этого растра или null.

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

Raster

protected Raster(SampleModel sampleModel, Point origin)
Создает Raster с заданным SampleModel. Левый верхний угол растра находится в начале координат, и его размеры совпадают с размерами SampleModel. Буфер данных достаточного размера для описания растра создается автоматически.
Parameters:
sampleModel - SampleModel, определяющий макет
origin - Точка, задающая начало координат
Throws:
RasterFormatException - если вычисление origin.x + sampleModel.getWidth() или origin.y + sampleModel.getHeight() приводит к переполнению целочисленной переменной
NullPointerException - если либо sampleModel, либо origin равно null

Raster

protected Raster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
Создает Raster с заданным SampleModel и DataBuffer. Левый верхний угол растра находится в начале координат, и его размеры совпадают с размерами SampleModel. DataBuffer не инициализируется и должен быть совместим с SampleModel.
Parameters:
sampleModel - SampleModel, определяющий макет
dataBuffer - DataBuffer, содержащий данные изображения
origin - Точка, задающая начало координат
Throws:
RasterFormatException - если вычисление origin.x + sampleModel.getWidth() или origin.y + sampleModel.getHeight() приводит к переполнению целочисленной переменной
NullPointerException - если либо sampleModel, либо origin равно null

Raster

protected Raster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion, Point sampleModelTranslate, Raster parent)
Создает Raster с заданным SampleModel, DataBuffer и родителем. aRegion определяет ограничивающую прямоугольную область нового растра. При переводе в координатную систему базового растра, aRegion должна быть содержится в базовом растре. (Базовый растр – это прародитель растра, у которого нет родителя). sampleModelTranslate задаёт значения sampleModelTranslateX и sampleModelTranslateY нового растра. Обратите внимание, что этот конструктор, как правило, вызывается другими конструкторами или методами создания, его не следует использовать напрямую.
Parameters:
sampleModel - SampleModel, определяющий макет
dataBuffer - DataBuffer, содержащий данные изображения
aRegion - Прямоугольник, определяющий область изображения
sampleModelTranslate - Точка, задающая смещение от координат SampleModel к координатам растра
parent - Родитель (если есть) этого растра
Throws:
NullPointerException - если любой из sampleModel, dataBuffer, aRegion или sampleModelTranslate равен null
RasterFormatException - если у aRegion ширина или высота меньше или равны нулю, или вычисление aRegion.x + aRegion.width или aRegion.y + aRegion.height приводит к переполнению целочисленной переменной

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

createInterleavedRaster

public static WritableRaster createInterleavedRaster(int dataType, int w, int h, int bands, Point location)
Создаёт Raster на основе PixelInterleavedSampleModel с указанным типом данных, шириной, высотой и количеством полос.

Левый верхний угол растра задаётся аргументом location. Если location равен null, используется (0, 0). Параметр dataType должен быть одним из перечисленных значений, определённых в классе DataBuffer.

Обратите внимание, что интерлизованные DataBuffer.TYPE_INT растры не поддерживаются. Для создания растра с 1 полосой типа DataBuffer.TYPE_INT, используйте Raster.createPackedRaster().

В настоящее время поддерживаются только типы данных TYPE_BYTE и TYPE_USHORT.

Parameters:
dataType - тип данных для хранения выборок
w - ширина изображения в пикселях
h - высота изображения в пикселях
bands - количество полос
location - верхний левый угол Raster
Returns:
объект WritableRaster с указанным типом данных, шириной, высотой и количеством полос.
Throws:
IllegalArgumentException - если dataType не является одним из поддерживаемых типов данных
IllegalArgumentException - если bands меньше 1
IllegalArgumentException - если w и h не оба > 0
IllegalArgumentException - если произведение w и h больше Integer.MAX_VALUE
RasterFormatException - если вычисление location.x + w или location.y + h приводит к переполнению целочисленной переменной

createInterleavedRaster

public static WritableRaster createInterleavedRaster(int dataType, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
Создаёт Raster на основе PixelInterleavedSampleModel с указанным типом данных, шириной, высотой, шагом строки, шагом пикселя и смещениями полос. Количество полос определяется по длине bandOffsets.

Левый верхний угол растра задаётся аргументом location. Если location равен null, используется (0, 0). Параметр dataType должен быть одним из перечисленных значений, определённых в классе DataBuffer.

Обратите внимание, что интерлизованные DataBuffer.TYPE_INT растры не поддерживаются. Для создания растра с 1 полосой типа DataBuffer.TYPE_INT, используйте Raster.createPackedRaster().

В настоящее время поддерживаются только типы данных TYPE_BYTE и TYPE_USHORT.

Parameters:
dataType - тип данных для хранения выборок
w - ширина изображения в пикселях
h - высота изображения в пикселях
scanlineStride - шаг строки изображения
pixelStride - шаг пикселя изображения
bandOffsets - смещения всех полос
location - верхний левый угол Raster
Returns:
объект WritableRaster с указанным типом данных, шириной, высотой, шагом строки, шагом пикселя и смещениями полос.
Throws:
IllegalArgumentException - если dataType не является одним из поддерживаемых типов данных, которыми являются DataBuffer.TYPE_BYTE, или DataBuffer.TYPE_USHORT.
IllegalArgumentException - если w и h не оба > 0
IllegalArgumentException - если произведение w и h больше Integer.MAX_VALUE
RasterFormatException - если вычисление location.x + w или location.y + h приводит к переполнению целочисленной переменной
IllegalArgumentException - если scanlineStride меньше 0
IllegalArgumentException - если pixelStride меньше 0
NullPointerException - если bandOffsets равно null

createBandedRaster

public static WritableRaster createBandedRaster(int dataType, int w, int h, int bands, Point location)
Создаёт Raster на основе BandedSampleModel с указанным типом данных, шириной, высотой и количеством полос.

Левый верхний угол Raster задаётся аргументом location. Если location равен null, будет использовано (0, 0). Параметр dataType должен быть одним из перечисленных значений, определённых в классе DataBuffer.

В настоящее время поддерживаются только типы данных TYPE_BYTE, TYPE_USHORT и TYPE_INT.

Параметры:
dataType - тип данных для хранения образцов
w - ширина в пикселях данных изображения
h - высота в пикселях данных изображения
bands - количество полос
location - левый верхний угол Raster
Возвращает:
объект WritableRaster с указанным типом данных, шириной, высотой и количеством полос.
Исключения:
IllegalArgumentException - если dataType не является одним из поддерживаемых типов данных, которые являются DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT
IllegalArgumentException - если w и h не оба больше 0
IllegalArgumentException - если произведение w и h больше Integer.MAX_VALUE
IllegalArgumentException - если вычисление location.x + w или location.y + h приводит к переполнению целых чисел
ArrayIndexOutOfBoundsException - если bands меньше 1

createBandedRaster

public static WritableRaster createBandedRaster(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
Создаёт Raster на основе BandedSampleModel с указанным типом данных, шириной, высотой, шагом строки сканирования, индексами банка и смещениями полос. Количество полос определяется по длине массивов bankIndices и bandOffsets, которые должны быть одинаковыми.

Левый верхний угол Raster задаётся аргументом location. Параметр dataType должен быть одним из перечисленных значений, определённых в классе DataBuffer.

В настоящее время поддерживаются только типы данных TYPE_BYTE, TYPE_USHORT и TYPE_INT.

Параметры:
dataType - тип данных для хранения образцов
w - ширина в пикселях данных изображения
h - высота в пикселях данных изображения
scanlineStride - шаг строки сканирования данных изображения
bankIndices - индексы банка для каждой полосы
bandOffsets - смещения всех полос
location - левый верхний угол Raster
Возвращает:
объект WritableRaster с указанным типом данных, шириной, высотой, шагом строки сканирования, индексами банка и смещениями полос.
Исключения:
IllegalArgumentException - если dataType не является одним из поддерживаемых типов данных, которые являются DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT
IllegalArgumentException - если w и h не оба больше 0
IllegalArgumentException - если произведение w и h больше Integer.MAX_VALUE
IllegalArgumentException - если вычисление location.x + w или location.y + h приводит к переполнению целых чисел
IllegalArgumentException - если scanlineStride меньше 0
ArrayIndexOutOfBoundsException - если bankIndices является null
NullPointerException - если bandOffsets является null

createPackedRaster

public static WritableRaster createPackedRaster(int dataType, int w, int h, int[] bandMasks, Point location)
Создаёт Raster на основе SinglePixelPackedSampleModel с указанным типом данных, шириной, высотой и масками полос. Количество полос определяется по длине массива bandMasks.

Левый верхний угол Raster задаётся аргументом location. Если location равен null, будет использовано (0, 0). Параметр dataType должен быть одним из перечисленных значений, определённых в классе DataBuffer.

В настоящее время поддерживаются только типы данных TYPE_BYTE, TYPE_USHORT и TYPE_INT.

Параметры:
dataType - тип данных для хранения образцов
w - ширина в пикселях данных изображения
h - высота в пикселях данных изображения
bandMasks - массив, содержащий запись для каждой полосы
location - левый верхний угол Raster
Возвращает:
объект WritableRaster с указанным типом данных, шириной, высотой и масками полос.
Исключения:
RasterFormatException - если w или h меньше или равно нулю, или вычисление location.x + w или location.y + h приводит к переполнению целых чисел
IllegalArgumentException - если dataType не является одним из поддерживаемых типов данных, которые являются DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT

createPackedRaster

public static WritableRaster createPackedRaster(int dataType, int w, int h, int bands, int bitsPerBand, Point location)
Создаёт Raster на основе упакованного SampleModel с указанным типом данных, шириной, высотой, количеством полос и количеством бит на полосу. Если количество полос равно одному, SampleModel будет MultiPixelPackedSampleModel.

Если количество полос больше одного, SampleModel будет SinglePixelPackedSampleModel, при этом каждая полоса будет иметь bitsPerBand бит. В любом случае должны выполняться требования к dataType и bitsPerBand, накладываемые соответствующим SampleModel.

Левый верхний угол Raster задаётся аргументом location. Если location равен null, будет использовано (0, 0). Параметр dataType должен быть одним из перечисленных значений, определённых в классе DataBuffer.

В настоящее время поддерживаются только типы данных TYPE_BYTE, TYPE_USHORT и TYPE_INT.

Параметры:
dataType - тип данных для хранения образцов
w - ширина в пикселях данных изображения
h - высота в пикселях данных изображения
bands - количество полос
bitsPerBand - количество бит на полосу
location - левый верхний угол Raster
Возвращает:
объект WritableRaster с указанным типом данных, шириной, высотой, количеством полос и количеством бит на полосу.
Исключения:
RasterFormatException - если w или h меньше или равно нулю, или вычисление location.x + w или location.y + h приводит к переполнению целых чисел
IllegalArgumentException - если произведение bitsPerBand и bands больше количества бит, хранимых в dataType
IllegalArgumentException - если bitsPerBand или bands не больше нуля
IllegalArgumentException - если dataType не является одним из поддерживаемых типов данных, которые являются DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT

createInterleavedRaster

public static WritableRaster createInterleavedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
Создаёт Raster на основе PixelInterleavedSampleModel с указанным DataBuffer, шириной, высотой, шагом строки сканирования, шагом пикселя и смещениями полос. Количество полос определяется по длине массива bandOffsets. Левый верхний угол Raster задаётся аргументом location. Если location равен null, будет использовано (0, 0).

Обратите внимание, что перекрывающиеся DataBuffer.TYPE_INT Raster не поддерживаются. Чтобы создать 1-полосный Raster типа DataBuffer.TYPE_INT, используйте Raster.createPackedRaster().

Параметры:
dataBuffer - DataBuffer содержащий данные изображения
w - ширина в пикселях данных изображения
h - высота в пикселях данных изображения
scanlineStride - шаг строки сканирования данных изображения
pixelStride - шаг пикселя данных изображения
bandOffsets - смещения всех полос
location - левый верхний угол Raster
Возвращает:
объект WritableRaster с указанным DataBuffer, шириной, высотой, шагом строки сканирования, шагом пикселя и смещениями полос.
Исключения:
IllegalArgumentException - если dataType не является одним из поддерживаемых типов данных, которые являются DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT
NullPointerException - если dataBuffer равен null
IllegalArgumentException - если dataType не является одним из поддерживаемых типов данных, которые являются DataBuffer.TYPE_BYTE, или DataBuffer.TYPE_USHORT.
RasterFormatException - если dataBuffer имеет более одного банка.
IllegalArgumentException - если w и h не оба > 0
IllegalArgumentException - если произведение w и h больше Integer.MAX_VALUE
RasterFormatException - если вычисление location.x + w или location.y + h приводит к переполнению целых чисел
IllegalArgumentException - если scanlineStride меньше 0
IllegalArgumentException - если pixelStride меньше 0
NullPointerException - если bandOffsets равен null

createBandedRaster

public static WritableRaster createBandedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
Создает Raster на основе BandedSampleModel с указанным DataBuffer, шириной, высотой, шагом строки сканирования, индексами банков и смещениями полос. Количество полос выводится из bankIndices.length и bandOffsets.length, которые должны быть одинаковыми. Верхний левый угол Raster задается аргументом location. Если location имеет значение null, будет использоваться (0, 0).
Параметры:
dataBuffer - DataBuffer содержащий данные изображения
w - ширина данных изображения в пикселях
h - высота данных изображения в пикселях
scanlineStride - шаг строки данных изображения
bankIndices - индексы банков для каждой полосы
bandOffsets - смещения всех полос
location - верхний левый угол Raster
Возвращает:
объект WritableRaster с указанными DataBuffer, шириной, высотой, шагом строки сканирования, индексами банков и смещениями полос.
Исключения:
NullPointerException - если dataBuffer имеет значение null, или bankIndices имеет значение null, или bandOffsets имеет значение null
IllegalArgumentException - если dataType не является одним из поддерживаемых типов данных, которые являются DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT, или если w или h меньше или равно нулю, или если произведение w и h больше, чем Integer.MAX_VALUE, или если scanlineStride меньше нуля, или если длина bankIndices не равна длине bandOffsets
RasterFormatException - если вычисление location.x + w или location.y + h приводит к переполнению целого числа

createPackedRaster

public static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bandMasks, Point location)
Создает Raster на основе SinglePixelPackedSampleModel с указанным DataBuffer, шириной, высотой, шагом строки сканирования и масками полос. Количество полос выводится из bandMasks.length. Верхний левый угол Raster задается аргументом location. Если location имеет значение null, будет использоваться (0, 0).
Параметры:
dataBuffer - DataBuffer содержащий данные изображения
w - ширина данных изображения в пикселях
h - высота данных изображения в пикселях
scanlineStride - шаг строки данных изображения
bandMasks - массив, содержащий запись для каждой полосы
location - верхний левый угол Raster
Возвращает:
объект WritableRaster с указанными DataBuffer, шириной, высотой, шагом строки сканирования и масками полос.
Исключения:
RasterFormatException - если w или h меньше или равно нулю, или вычисление location.x + w или location.y + h приводит к переполнению целого числа
IllegalArgumentException - если dataBuffer не является одним из поддерживаемых типов данных, которые являются DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT
RasterFormatException - если dataBuffer содержит более одного банка.
NullPointerException - если dataBuffer имеет значение null

createPackedRaster

public static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int bitsPerPixel, Point location)
Создает Raster на основе MultiPixelPackedSampleModel с указанным DataBuffer, шириной, высотой и количеством бит на пиксель. Верхний левый угол Raster задается аргументом location. Если location имеет значение null, будет использоваться (0, 0).
Параметры:
dataBuffer - DataBuffer содержащий данные изображения
w - ширина данных изображения в пикселях
h - высота данных изображения в пикселях
bitsPerPixel - количество бит для каждого пикселя
location - верхний левый угол Raster
Возвращает:
объект WritableRaster с указанными DataBuffer, шириной, высотой и количеством бит на пиксель.
Исключения:
RasterFormatException - если w или h меньше или равно нулю, или вычисление location.x + w или location.y + h приводит к переполнению целого числа
IllegalArgumentException - если dataType не является одним из поддерживаемых типов данных, которые являются DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT
RasterFormatException - если dataBuffer содержит более одного банка.
NullPointerException - если dataBuffer имеет значение null

createRaster

public static Raster createRaster(SampleModel sm, DataBuffer db, Point location)
Создает Raster с указанным SampleModel и DataBuffer. Верхний левый угол Raster задается аргументом location. Если location имеет значение null, будет использоваться (0, 0).
Параметры:
sm - указанный SampleModel
db - указанный DataBuffer
location - верхний левый угол Raster
Возвращает:
Raster с указанными SampleModel, DataBuffer и location.
Исключения:
RasterFormatException - если вычисление location.x + sm.getWidth() или location.y + sm.getHeight() приводит к переполнению целого числа
RasterFormatException - если db содержит более одного банка и sm является PixelInterleavedSampleModel, SinglePixelPackedSampleModel или MultiPixelPackedSampleModel.
NullPointerException - если SampleModel или DataBuffer имеет значение null

createWritableRaster

public static WritableRaster createWritableRaster(SampleModel sm, Point location)
Создает WritableRaster с указанным SampleModel. Верхний левый угол Raster задается аргументом location. Если location имеет значение null, будет использоваться (0, 0).
Параметры:
sm - указанный SampleModel
location - верхний левый угол WritableRaster
Возвращает:
WritableRaster с указанным SampleModel и location.
Исключения:
RasterFormatException - если вычисление location.x + sm.getWidth() или location.y + sm.getHeight() приводит к переполнению целого числа

createWritableRaster

public static WritableRaster createWritableRaster(SampleModel sm, DataBuffer db, Point location)
Создает WritableRaster с указанным SampleModel и DataBuffer. Верхний левый угол Raster задается аргументом location. Если location имеет значение null, будет использоваться (0, 0).
Параметры:
sm - указанный SampleModel
db - указанный DataBuffer
location - верхний левый угол WritableRaster
Возвращает:
WritableRaster с указанными SampleModel, DataBuffer и location.
Исключения:
RasterFormatException - если вычисление location.x + sm.getWidth() или location.y + sm.getHeight() приводит к переполнению целого числа
RasterFormatException - если db содержит более одного банка и sm является PixelInterleavedSampleModel, SinglePixelPackedSampleModel или MultiPixelPackedSampleModel.
NullPointerException - если SampleModel или DataBuffer имеет значение null

getParent

public Raster getParent()
Возвращает родительский Raster (если есть) этого Raster или null.
Возвращает:
родительский Raster или null.

getSampleModelTranslateX

public final int getSampleModelTranslateX()
Возвращает сдвиг по оси X от системы координат SampleModel к системе координат Raster. Для преобразования координаты X пикселя из системы координат Raster в систему координат SampleModel это значение должно быть вычтено.
Возвращает:
сдвиг по оси X от пространства координат SampleModel Raster к пространству координат Raster.

getSampleModelTranslateY

public final int getSampleModelTranslateY()
Возвращает сдвиг по оси Y от системы координат SampleModel к системе координат Raster. Для преобразования координаты Y пикселя из системы координат Raster в систему координат SampleModel это значение должно быть вычтено.
Возвращает:
сдвиг по оси Y от пространства координат SampleModel Raster к пространству координат Raster.

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster()
Создает совместимый WritableRaster того же размера, что и этот Raster, с тем же SampleModel и новым инициализированным DataBuffer.
Возвращает:
совместимый WritableRaster с той же моделью выборки и новым буфером данных.

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster(int w, int h)
Создает совместимый WritableRaster с указанным размером, новой SampleModel и новым инициализированным DataBuffer.
Параметры:
w - указанная ширина нового WritableRaster
h - указанная высота нового WritableRaster
Возвращает:
совместимый WritableRaster с указанным размером, новой моделью выборки и буфером данных.
Исключения:
RasterFormatException - если ширина или высота меньше или равна нулю.

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster(Rectangle rect)
Создать совместимый WritableRaster с расположением (minX, minY) и размером (width, height), указанными в rect, новой SampleModel и новым инициализированным DataBuffer.
Parameters:
rect - a Rectangle, который определяет размер и расположение WritableRaster
Returns:
совместимый WritableRaster с указанными размером и расположением и новой моделью образцов и буфером данных.
Throws:
RasterFormatException - если у rect ширина или высота меньше или равны нулю, или вычисление rect.x + rect.width или rect.y + rect.height приводит к переполнению целого числа
NullPointerException - если rect равно null

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster(int x, int y, int w, int h)
Создать совместимый WritableRaster с указанным расположением (minX, minY) и размером (width, height), новой SampleModel и новым инициализированным DataBuffer.
Parameters:
x - координата X верхнего левого угла WritableRaster
y - координата Y верхнего левого угла WritableRaster
w - заданная ширина WritableRaster
h - заданная высота WritableRaster
Returns:
совместимый WritableRaster с указанными размером и расположением и новой моделью образцов и буфером данных.
Throws:
RasterFormatException - если w или h меньше или равны нулю, или вычисление x + w или y + h приводит к переполнению целого числа

createTranslatedChild

public Raster createTranslatedChild(int childMinX, int childMinY)
Создать Raster с тем же размером, SampleModel и DataBuffer, что и этот, но с другим расположением. Новый Raster будет содержать ссылку на текущий Raster, доступную через метод getParent().
Parameters:
childMinX - координата X верхнего левого угла нового Raster
childMinY - координата Y верхнего левого угла нового Raster
Returns:
новый Raster с тем же размером, SampleModel и DataBuffer, что и этот Raster, но с указанным расположением.
Throws:
RasterFormatException - если вычисление childMinX + this.getWidth() или childMinY + this.getHeight() приводит к переполнению целого числа

createChild

public Raster createChild(int parentX, int parentY, int width, int height, int childMinX, int childMinY, int[] bandList)
Возвращает новый Raster, который разделяет весь или часть DataBuffer этого Raster. Новый Raster будет содержать ссылку на текущий Raster, доступную через метод getParent().

Параметры parentX, parentY, width и height образуют прямоугольник в пространстве координат этого Raster, указывающий область пикселей для совместного использования. Ошибка будет выброшена, если этот прямоугольник не находится внутри границ текущего Raster.

Новый Raster может дополнительно быть перемещен в другую систему координат для плоскости, отличную от используемой текущим Raster. Параметры childMinX и childMinY задают новые (x, y) координаты верхнего левого пикселя возвращаемого Raster; координата (childMinX, childMinY) в новом Raster будет соответствовать координате (parentX, parentY) в текущем Raster.

Новый Raster может быть определен для того, чтобы содержать только подмножество полос текущего Raster, возможно, в переупорядоченном виде, с помощью параметра bandList. Если bandList равно null, предполагается, что он включает все полосы текущего Raster в их текущем порядке.

Для создания нового Raster, содержащего подрегион текущего Raster, но разделяющего его систему координат и полосы, этот метод должен быть вызван с childMinX, равным parentX, childMinY, равным parentY, и bandList, равным null.

Parameters:
parentX - Координата X верхнего левого угла в координатах этого Raster
parentY - Координата Y верхнего левого угла в координатах этого Raster
width - Ширина области, начинающейся в (parentX, parentY)
height - Высота области, начинающейся в (parentX, parentY).
childMinX - Координата X верхнего левого угла возвращаемого Raster
childMinY - Координата Y верхнего левого угла возвращаемого Raster
bandList - Массив индексов полос или null для использования всех полос
Returns:
новый Raster.
Throws:
RasterFormatException - если указанный подрегион находится за пределами границ растра.
width или height меньше или равно нулю, или вычисление parentX + width, parentY + height, childMinX + width, или childMinY + height приводит к переполнению целого числа

getBounds

public Rectangle getBounds()
Возвращает прямоугольник границ этого Raster. Эта функция возвращает ту же информацию, что и getMinX/MinY/Width/Height.
Returns:
прямоугольник границ этого Raster.

getMinX

public final int getMinX()
Возвращает минимальную допустимую координату X Raster.
Returns:
минимальная координата x этого Raster.

getMinY

public final int getMinY()
Возвращает минимальную допустимую координату Y Raster.
Returns:
минимальная координата y этого Raster.

getWidth

public final int getWidth()
Возвращает ширину Raster в пикселях.
Returns:
ширина этого Raster.

getHeight

public final int getHeight()
Возвращает высоту Raster в пикселях.
Returns:
высота этого Raster.

getNumBands

public final int getNumBands()
Возвращает количество полос (образцов на пиксель) в этом Raster.
Returns:
количество полос этого Raster.

getNumDataElements

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

getTransferType

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

getDataBuffer

public DataBuffer getDataBuffer()
Возвращает DataBuffer, связанный с этим Raster.
Returns:
DataBuffer этого Raster.

getSampleModel

public SampleModel getSampleModel()
Возвращает SampleModel, который описывает расположение данных изображения.
Returns:
SampleModel этого Raster.

getDataElements

public Object getDataElements(int x, int y, Object outData)
Возвращает данные для одного пикселя в примитивном массиве типа TransferType. Для данных изображения, поддерживаемых API Java 2D(tm), это будет один из DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT или DataBuffer.TYPE_DOUBLE. Данные могут быть возвращены в упакованном формате, тем самым повышая эффективность для передачи данных. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется. Будет выброшено исключение ClassCastException, если входной объект не null и ссылается на что-либо, кроме массива типа TransferType.
Parameters:
x - Координата X расположения пикселя
y - Координата Y расположения пикселя
outData - Ссылка на объект на массив типа, определенного getTransferType(), и длиной getNumDataElements(). Если null, будет выделен массив соответствующего типа и размера
Returns:
Ссылка на объект на массив типа, определенного getTransferType(), с запрошенными данными пикселя.
Throws:
ArrayIndexOutOfBoundsException - если координаты находятся вне границ или если outData слишком мал для хранения вывода.
See Also:
  • SampleModel.getDataElements(int, int, Object, DataBuffer)

getDataElements

public Object getDataElements(int x, int y, int w, int h, Object outData)
Возвращает данные пикселей для указанного прямоугольника пикселей в примитивном массиве типа TransferType. Для данных изображений, поддерживаемых API Java 2D, это будет один из DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT или DataBuffer.TYPE_DOUBLE. Данные могут быть возвращены в упакованном формате, что увеличивает эффективность передачи данных. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется. Будет выброшено исключение ClassCastException, если входной объект не null и ссылается на что-либо, кроме массива типа TransferType.
Parameters:
x - Координата X верхнего левого пикселя
y - Координата Y верхнего левого пикселя
w - Ширина прямоугольника пикселей
h - Высота прямоугольника пикселей
outData - Ссылка на объект массива типа, определённого getTransferType(), и длины w*h*getNumDataElements(). Если null, будет выделен массив соответствующего типа и размера.
Returns:
Ссылка на объект массива типа, определённого getTransferType(), с запрошенными данными пикселей.
Throws:
ArrayIndexOutOfBoundsException - если координаты находятся вне границ или если outData слишком мал для хранения вывода.
See Also:
  • SampleModel.getDataElements(int, int, int, int, Object, DataBuffer)

getPixel

public int[] getPixel(int x, int y, int[] iArray)
Возвращает выборки в массиве int для указанного пикселя. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется.
Parameters:
x - Координата X положения пикселя
y - Координата Y положения пикселя
iArray - Необязательно предварительно выделенный массив int
Returns:
выборки для указанного пикселя.
Throws:
ArrayIndexOutOfBoundsException - если координаты находятся вне границ или если iArray слишком мал для хранения вывода.

getPixel

public float[] getPixel(int x, int y, float[] fArray)
Возвращает выборки в массиве float для указанного пикселя. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется.
Parameters:
x - Координата X положения пикселя
y - Координата Y положения пикселя
fArray - Необязательно предварительно выделенный массив float
Returns:
выборки для указанного пикселя.
Throws:
ArrayIndexOutOfBoundsException - если координаты находятся вне границ или если fArray слишком мал для хранения вывода.

getPixel

public double[] getPixel(int x, int y, double[] dArray)
Возвращает выборки в массиве double для указанного пикселя. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется.
Parameters:
x - Координата X положения пикселя
y - Координата Y положения пикселя
dArray - Необязательно предварительно выделенный массив double
Returns:
выборки для указанного пикселя.
Throws:
ArrayIndexOutOfBoundsException - если координаты находятся вне границ или если dArray слишком мал для хранения вывода.

getPixels

public int[] getPixels(int x, int y, int w, int h, int[] iArray)
Возвращает массив int, содержащий все выборки для прямоугольника пикселей, по одной выборке на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется.
Parameters:
x - Координата X верхнего левого пикселя
y - Координата Y верхнего левого пикселя
w - Ширина прямоугольника пикселей
h - Высота прямоугольника пикселей
iArray - Необязательно предварительно выделенный массив int
Returns:
выборки для указанного прямоугольника пикселей.
Throws:
ArrayIndexOutOfBoundsException - если координаты находятся вне границ или если iArray слишком мал для хранения вывода.

getPixels

public float[] getPixels(int x, int y, int w, int h, float[] fArray)
Возвращает массив float, содержащий все выборки для прямоугольника пикселей, по одной выборке на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется.
Parameters:
x - Координата X пикселя
y - Координата Y пикселя
w - Ширина прямоугольника пикселей
h - Высота прямоугольника пикселей
fArray - Необязательно предварительно выделенный массив float
Returns:
выборки для указанного прямоугольника пикселей.
Throws:
ArrayIndexOutOfBoundsException - если координаты находятся вне границ или если fArray слишком мал для хранения вывода.

getPixels

public double[] getPixels(int x, int y, int w, int h, double[] dArray)
Возвращает массив double, содержащий все выборки для прямоугольника пикселей, по одной выборке на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется.
Parameters:
x - Координата X верхнего левого пикселя
y - Координата Y верхнего левого пикселя
w - Ширина прямоугольника пикселей
h - Высота прямоугольника пикселей
dArray - Необязательно предварительно выделенный массив double
Returns:
выборки для указанного прямоугольника пикселей.
Throws:
ArrayIndexOutOfBoundsException - если координаты находятся вне границ или если dArray слишком мал для хранения вывода.

getSample

public int getSample(int x, int y, int b)
Возвращает выборку в указанной полосе для пикселя, расположенного в (x, y), как int. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется.
Parameters:
x - Координата X положения пикселя
y - Координата Y положения пикселя
b - Полоса, которую нужно вернуть
Returns:
выборка в указанной полосе для пикселя в указанных координатах.
Throws:
ArrayIndexOutOfBoundsException - если координаты или индекс полосы находятся вне границ.

getSampleFloat

public float getSampleFloat(int x, int y, int b)
Возвращает выборку в указанной полосе для пикселя, расположенного в (x, y), как float. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется.
Parameters:
x - Координата X положения пикселя
y - Координата Y положения пикселя
b - Полоса, которую нужно вернуть
Returns:
выборка в указанной полосе для пикселя в указанных координатах.
Throws:
ArrayIndexOutOfBoundsException - если координаты или индекс полосы находятся вне границ.

getSampleDouble

public double getSampleDouble(int x, int y, int b)
Возвращает выборку в указанной полосе для пикселя, расположенного в (x, y), как double. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется.
Parameters:
x - Координата X положения пикселя
y - Координата Y положения пикселя
b - Полоса, которую нужно вернуть
Returns:
выборка в указанной полосе для пикселя в указанных координатах.
Throws:
ArrayIndexOutOfBoundsException - если координаты или индекс полосы находятся вне границ.

getSamples

public int[] getSamples(int x, int y, int w, int h, int b, int[] iArray)
Возвращает выборки для указанной полосы для указанного прямоугольника пикселей в массиве int, по одной выборке на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ. Однако явная проверка границ не гарантируется.
Parameters:
x - Координата X верхнего левого пикселя
y - Координата Y верхнего левого пикселя
w - Ширина прямоугольника пикселей
h - Высота прямоугольника пикселей
b - Полоса, которую нужно вернуть
iArray - Необязательно предварительно выделенный массив int
Returns:
выборки для указанной полосы для указанного прямоугольника пикселей.
Throws:
ArrayIndexOutOfBoundsException - если координаты или индекс полосы находятся вне границ, или если iArray слишком мал для хранения вывода.

getSamples

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

getSamples

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

© 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/Raster.html

Spec-Zone.ru

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