Класс Raster
- java.lang.Object
-
- java.awt.image.Raster
- Прямые известные подклассы:
WritableRaster
public class Raster extends Object
Класс, представляющий прямоугольный массив пикселей. Объект Raster encapsлирует DataBuffer, хранящий значения образцов, и SampleModel, описывающий способ определения значения заданного образца в DataBuffer.
Raster определяет значения пикселей, занимающих определённую прямоугольную область на плоскости, не обязательно включающую (0, 0). Прямоугольник, известный как ограничивающая прямоугольник Raster и доступный посредством метода getBounds, определяется значениями minX, minY, width и height. Значения minX и minY определяют координаты верхнего левого угла Raster. Ссылки на пиксели за пределами ограничивающей прямоугольника могут привести к выбрасыванию исключения или к ссылкам на непредназначенные элементы связанного с 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 — использование одного из статических методов создания, определённых в этом классе. Эти методы создают экземпляры Raster, использующие стандартные Interleaved, Banded и Packed SampleModels и которые могут обрабатываться более эффективно, чем 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. |
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | Raster(SampleModel sampleModel,
DataBuffer dataBuffer,
Point origin) | Создаёт Raster с заданным SampleModel и DataBuffer. |
protected | Raster(SampleModel sampleModel,
DataBuffer dataBuffer,
Rectangle aRegion,
Point sampleModelTranslate,
Raster parent) | Создаёт Raster с заданным SampleModel, DataBuffer и родителем. |
protected | Raster(SampleModel sampleModel,
Point origin) | Создаёт Raster с заданным SampleModel. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
static WritableRaster | createBandedRaster(int dataType,
int w,
int h,
int scanlineStride,
int[] bankIndices,
int[] bandOffsets,
Point location) | Создаёт Raster на основе BandedSampleModel с указанным типом данных, шириной, высотой, шагом строки сканирования, индексами банка и смещениями каналов. |
static WritableRaster | createBandedRaster(int dataType,
int w,
int h,
int bands,
Point location) | Создаёт Raster на основе BandedSampleModel с указанным типом данных, шириной, высотой и количеством каналов. |
static WritableRaster | createBandedRaster(DataBuffer dataBuffer,
int w,
int h,
int scanlineStride,
int[] bankIndices,
int[] bandOffsets,
Point location) | Создаёт Raster на основе BandedSampleModel с указанным DataBuffer, шириной, высотой, шагом строки сканирования, индексами банка и смещениями каналов. |
Raster | createChild(int parentX,
int parentY,
int width,
int height,
int childMinX,
int childMinY,
int[] bandList) | Возвращает новый Raster, который разделяет весь или часть DataBuffer этого Raster. |
WritableRaster | createCompatibleWritableRaster() | Создаёт совместимый WritableRaster с такими же размерами, как у этого Raster, с той же SampleModel и новым инициализированным DataBuffer. |
WritableRaster | createCompatibleWritableRaster(int w,
int h) | Создаёт совместимый WritableRaster с указанными размерами, новой SampleModel и новым инициализированным DataBuffer. |
WritableRaster | createCompatibleWritableRaster(int x,
int y,
int w,
int h) | Создаёт совместимый WritableRaster с указанным расположением (minX, minY) и размерами (ширина, высота), новой SampleModel и новым инициализированным DataBuffer. |
WritableRaster | createCompatibleWritableRaster(Rectangle rect) | Создаёт совместимый WritableRaster с расположением (minX, minY) и размерами (ширина, высота), заданными rect, новой SampleModel и новым инициализированным DataBuffer. |
static WritableRaster | createInterleavedRaster(int dataType,
int w,
int h,
int scanlineStride,
int pixelStride,
int[] bandOffsets,
Point location) | Создаёт Raster на основе PixelInterleavedSampleModel с указанным типом данных, шириной, высотой, шагом строки сканирования, шагом пикселя и смещениями каналов. |
static WritableRaster | createInterleavedRaster(int dataType,
int w,
int h,
int bands,
Point location) | Создаёт Raster на основе PixelInterleavedSampleModel с указанным типом данных, шириной, высотой и количеством каналов. |
static WritableRaster | createInterleavedRaster(DataBuffer dataBuffer,
int w,
int h,
int scanlineStride,
int pixelStride,
int[] bandOffsets,
Point location) | Создаёт Raster на основе PixelInterleavedSampleModel с указанным DataBuffer, шириной, высотой, шагом строки сканирования, шагом пикселя и смещениями каналов. |
static WritableRaster | createPackedRaster(int dataType,
int w,
int h,
int[] bandMasks,
Point location) | Создаёт Raster на основе SinglePixelPackedSampleModel с указанным типом данных, шириной, высотой и масками каналов. |
static WritableRaster | createPackedRaster(int dataType,
int w,
int h,
int bands,
int bitsPerBand,
Point location) | Создаёт Raster на основе упакованной SampleModel с указанным типом данных, шириной, высотой, количеством каналов и количеством бит на канал. |
static WritableRaster | createPackedRaster(DataBuffer dataBuffer,
int w,
int h,
int scanlineStride,
int[] bandMasks,
Point location) | Создаёт Raster на основе SinglePixelPackedSampleModel с указанным DataBuffer, шириной, высотой, шагом строки сканирования и масками каналов. |
static WritableRaster | createPackedRaster(DataBuffer dataBuffer,
int w,
int h,
int bitsPerPixel,
Point location) | Создаёт Raster на основе MultiPixelPackedSampleModel с указанным DataBuffer, шириной, высотой и количеством бит на пиксель. |
static Raster | createRaster(SampleModel sm,
DataBuffer db,
Point location) | Создаёт Raster с указанной SampleModel и DataBuffer. |
Raster | createTranslatedChild(int childMinX,
int childMinY) | Создаёт Raster с такими же размерами, SampleModel и DataBuffer, как у этого, но с другим расположением. |
static WritableRaster | createWritableRaster(SampleModel sm,
DataBuffer db,
Point location) | Создаёт WritableRaster с указанной SampleModel и DataBuffer. |
static WritableRaster | createWritableRaster(SampleModel sm,
Point location) | Создаёт WritableRaster с указанной SampleModel. |
Rectangle | getBounds() | Возвращает ограничивающую прямоугольную область этого Raster. |
DataBuffer | getDataElements(int x,
int y,
int w,
int h,
Object outData) | Возвращает DataBuffer, связанный с этим Raster. |
Object | getDataElements(int x,
int y,
Object outData) | Возвращает данные пикселей для указанного прямоугольника пикселей в примитивном массиве типа TransferType. |
Object | getHeight() | Возвращает данные одного пикселя в примитивном массиве типа TransferType. |
int | getMinX() | Возвращает высоту в пикселях Raster. |
int | getMinY() | Возвращает минимальную допустимую координату X Raster. |
int | getNumBands() | Возвращает минимальную допустимую координату Y Raster. |
int | getNumDataElements() | Возвращает количество каналов (образцов на пиксель) в этом Raster. |
int | getParent() | Возвращает количество элементов данных, необходимых для передачи одного пикселя с помощью методов getDataElements и setDataElements. |
Raster | getPixel(int x,
int y,
double[] dArray) | Возвращает родительский Raster (если есть) этого Raster или null. |
double[] | getPixel(int x,
int y,
float[] fArray) | Возвращает образцы в массиве double для указанного пикселя. |
float[] | getPixel(int x,
int y,
int[] iArray) | Возвращает образцы в массиве float для указанного пикселя. |
int[] | getPixels(int x,
int y,
int w,
int h,
double[] dArray) | Возвращает образцы в массиве int для указанного пикселя. |
double[] | getPixels(int x,
int y,
int w,
int h,
float[] fArray) | Возвращает массив double, содержащий все образцы для прямоугольника пикселей, по одному образцу на элемент массива. |
float[] | getPixels(int x,
int y,
int w,
int h,
int[] iArray) | Возвращает массив float, содержащий все образцы для прямоугольника пикселей, по одному образцу на элемент массива. |
int[] | getSample(int x,
int y,
int b) | Возвращает массив int, содержащий все образцы для прямоугольника пикселей, по одному образцу на элемент массива. |
int | getSampleDouble(int x,
int y,
int b) | Возвращает образец в указанном канале для пикселя, расположенного по координатам (x, y), как целое число. |
double | getSampleFloat(int x,
int y,
int b) | Возвращает образец в указанном канале для пикселя, расположенного по координатам (x, y), как число с плавающей запятой двойной точности. |
float | getSampleModel() | Возвращает образец в указанном канале для пикселя, расположенного по координатам (x, y), как число с плавающей запятой одинарной точности. |
SampleModel | getSampleModelTranslateX() | Возвращает SampleModel, описывающий расположение данных изображения. |
int | getSampleModelTranslateY() | Возвращает сдвиг X из системы координат SampleModel в систему координат Raster. |
int | getSamples(int x,
int y,
int w,
int h,
int b,
double[] dArray) | Возвращает сдвиг Y из системы координат SampleModel в систему координат Raster. |
double[] | getSamples(int x,
int y,
int w,
int h,
int b,
float[] fArray) | Возвращает образцы для указанного канала для указанного прямоугольника пикселей в массиве double, по одному образцу на элемент массива. |
float[] | getSamples(int x,
int y,
int w,
int h,
int b,
int[] iArray) | Возвращает образцы для указанного канала для указанного прямоугольника пикселей в массиве float, по одному образцу на элемент массива. |
int[] | getTransferType() | Возвращает образцы для указанного канала для указанного прямоугольника пикселей в массиве int, по одному образцу на элемент массива. |
int | getWidth() | Возвращает TransferType, используемый для передачи пикселей с помощью методов getDataElements и setDataElements. |
int | protected SampleModel sampleModel | Возвращает ширину в пикселях Raster. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
sampleModel
protected SampleModel sampleModel
SampleModel, описывающий, как пиксели из этого Raster хранятся в DataBuffer.
dataBuffer
protected DataBuffer dataBuffer
DataBuffer, хранящий данные изображения.
minX
protected int minX
Координата X левого верхнего пикселя этого Raster.
minY
protected int minY
Координата Y левого верхнего пикселя этого Raster.
ширина
protected int width
Ширина этого Raster.
высота
protected int height
Высота этого Raster.
sampleModelTranslateX
protected int sampleModelTranslateX
Сдвиг по оси X от координатного пространства SampleModel этого Raster к координатам самого Raster.
sampleModelTranslateY
protected int sampleModelTranslateY
Сдвиг по оси Y от координатного пространства SampleModel этого Raster к координатам самого Raster.
количество_каналов
protected int numBands
Количество каналов в Raster.
количество_элементов_данных
protected int numDataElements
Количество элементов данных DataBuffer на пиксель.
родитель
protected Raster parent
Родитель этого Raster, или null.
Конструкторы
Raster
protected Raster(SampleModel sampleModel,
Point origin) Создаёт Raster с заданным SampleModel. Левый верхний угол Raster находится в начале координат и имеет тот же размер, что и SampleModel. DataBuffer достаточного размера для описания Raster создаётся автоматически.
- Параметры:
-
sampleModel- SampleModel, определяющий расположение -
origin- Точка, определяющая начало координат - Исключения:
-
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. Левый верхний угол Raster находится в начале координат и имеет тот же размер, что и SampleModel. DataBuffer не инициализируется и должен быть совместим с SampleModel.
- Параметры:
-
sampleModel- SampleModel, определяющий расположение -
dataBuffer- DataBuffer, содержащий данные изображения -
origin- Точка, определяющая начало координат - Исключения:
-
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 определяет область рамки нового Raster. После преобразования в координатную систему базового Raster, aRegion должна быть в пределах базового Raster. (Базовый Raster — это предок Raster, у которого нет родителя.) sampleModelTranslate определяет значения sampleModelTranslateX и sampleModelTranslateY нового Raster. Обратите внимание, что этот конструктор обычно вызывается другими конструкторами или методами создания, а не используется напрямую.
- Параметры:
-
sampleModel- SampleModel, определяющий расположение -
dataBuffer- DataBuffer, содержащий данные изображения -
aRegion- Rectangle, определяющий область изображения -
sampleModelTranslate- Точка, определяющая сдвиг от координат SampleModel к координатам Raster -
parent- Родитель (если есть) этого Raster - Исключения:
-
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 с указанным типом данных, шириной, высотой и количеством полос.
Левый верхний угол Raster задается аргументом location. Если location имеет значение null, будет использоваться (0, 0). Параметр dataType должен быть одним из перечисленных значений, определенных в классе DataBuffer.
Обратите внимание, что чересстрочные DataBuffer.TYPE_INT Raster не поддерживаются. Чтобы создать 1-полосный Raster типа DataBuffer.TYPE_INT, используйте Raster.createPackedRaster().
В настоящее время поддерживаются только dataTypes TYPE_BYTE и TYPE_USHORT.
- Параметры:
-
dataType- тип данных для хранения выборок -
w- ширина в пикселях данных изображения -
h- высота в пикселях данных изображения -
bands- количество полос -
location- левый верхний уголRaster - Возвращает:
- объект WritableRaster с указанным типом данных, шириной, высотой и количеством полос.
- Исключения:
-
RasterFormatException- еслиwилиhменьше или равно нулю, или вычисление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.length.
Левый верхний угол Raster задается аргументом location. Если location имеет значение null, будет использоваться (0, 0). Параметр dataType должен быть одним из перечисленных значений, определенных в классе DataBuffer.
Обратите внимание, что чересстрочные DataBuffer.TYPE_INT Raster не поддерживаются. Чтобы создать 1-полосный Raster типа DataBuffer.TYPE_INT, используйте Raster.createPackedRaster().
В настоящее время поддерживаются только dataTypes TYPE_BYTE и TYPE_USHORT.
- Параметры:
-
dataType- тип данных для хранения выборок -
w- ширина в пикселях данных изображения -
h- высота в пикселях данных изображения -
scanlineStride- шаг строки изображения -
pixelStride- шаг пикселя данных изображения -
bandOffsets- смещения всех полос -
location- левый верхний уголRaster - Возвращает:
- объект WritableRaster с указанным типом данных, шириной, высотой, шагом строки сканирования, шагом пикселя и смещениями полос.
- Исключения:
-
RasterFormatException- еслиwилиhменьше или равно нулю, или вычислениеlocation.x + wилиlocation.y + hприводит к целочисленному переполнению -
IllegalArgumentException- еслиdataTypeне является одним из поддерживаемых типов данных, которые являютсяDataBuffer.TYPE_BYTE, илиDataBuffer.TYPE_USHORT.
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.
В настоящее время поддерживаются только dataTypes TYPE_BYTE, TYPE_USHORT и TYPE_INT.
- Параметры:
-
dataType- тип данных для хранения выборок -
w- ширина в пикселях данных изображения -
h- высота в пикселях данных изображения -
bands- количество полос -
location- левый верхний уголRaster - Возвращает:
- объект WritableRaster с указанным типом данных, шириной, высотой и количеством полос.
- Исключения:
-
RasterFormatException- еслиwилиhменьше или равно нулю, или вычисление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.length и bandOffsets.length, которые должны быть одинаковыми.
Левый верхний угол Raster задается аргументом location. Параметр dataType должен быть одним из перечисленных значений, определенных в классе DataBuffer.
В настоящее время поддерживаются только dataTypes TYPE_BYTE, TYPE_USHORT и TYPE_INT.
- Параметры:
-
dataType- тип данных для хранения выборок -
w- ширина в пикселях данных изображения -
h- высота в пикселях данных изображения -
scanlineStride- шаг строки данных изображения -
bankIndices- индексы банков для каждой полосы -
bandOffsets- смещения всех полос -
location- левый верхний уголRaster - Возвращает:
- объект WritableRaster с указанным типом данных, шириной, высотой, шагом строки сканирования, индексами банков и смещениями полос.
- Исключения:
-
RasterFormatException- еслиwилиhменьше или равно нулю, или вычислениеlocation.x + wилиlocation.y + hприводит к целочисленному переполнению -
IllegalArgumentException- еслиdataTypeне является одним из поддерживаемых типов данных, которые являютсяDataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORTилиDataBuffer.TYPE_INT -
ArrayIndexOutOfBoundsException- еслиbankIndicesилиbandOffsetsявляетсяnull
createPackedRaster
public static WritableRaster createPackedRaster(int dataType,
int w,
int h,
int[] bandMasks,
Point location) Создает Raster на основе SinglePixelPackedSampleModel с указанным типом данных, шириной, высотой и масками полос. Количество полос выводится из bandMasks.length.
Левый верхний угол Raster задается аргументом location. Если location имеет значение null, будет использоваться (0, 0). Параметр dataType должен быть одним из перечисленных значений, определенных в классе DataBuffer.
В настоящее время поддерживаются только dataTypes 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.
В настоящее время поддерживаются только dataTypes 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.length. Левый верхний угол Raster задается аргументом location. Если location имеет значение null, будет использоваться (0, 0).
Обратите внимание, что чересстрочные DataBuffer.TYPE_INT Raster не поддерживаются. Чтобы создать 1-полосный Raster типа DataBuffer.TYPE_INT, используйте Raster.createPackedRaster().
- Параметры:
-
dataBuffer- данные изображения -
w- ширина данных изображения в пикселях -
h- высота данных изображения в пикселях -
scanlineStride- шаг строки данных изображения -
pixelStride- шаг пикселя данных изображения -
bandOffsets- смещения всех каналов -
location- верхний левый уголRaster - Возвращает:
- объект WritableRaster с указанными
DataBuffer, шириной, высотой, шагом строки, шагом пикселя и смещениями каналов. - Выбрасывает:
-
RasterFormatException- еслиwилиhменьше или равны нулю, или вычислениеlocation.x + wилиlocation.y + hприводит к переполнению целых чисел -
IllegalArgumentException- еслиdataTypeне является одним из поддерживаемых типов данных, которыми являютсяDataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT -
RasterFormatException- еслиdataBufferсодержит более одного банка. -
NullPointerException- еслиdataBufferравно null
createBandedRaster
public static WritableRaster createBandedRaster(DataBuffer dataBuffer,
int w,
int h,
int scanlineStride,
int[] bankIndices,
int[] bandOffsets,
Point location) Создаёт Raster на основе BandedSampleModel с указанным DataBuffer, шириной, высотой, шагом строки, индексами банков и смещениями каналов. Количество каналов определяется по длине массивов bankIndices и bandOffsets, которые должны быть одинаковыми. Верхний левый угол Raster задаётся аргументом location. Если location равно null, используется (0, 0).
- Параметры:
-
dataBuffer- данные изображения -
w- ширина данных изображения в пикселях -
h- высота данных изображения в пикселях -
scanlineStride- шаг строки данных изображения -
bankIndices- индексы банков для каждого канала -
bandOffsets- смещения всех каналов -
location- верхний левый уголRaster - Возвращает:
- объект WritableRaster с указанными
DataBuffer, шириной, высотой, шагом строки, индексами банков и смещениями каналов. - Выбрасывает:
-
RasterFormatException- еслиwилиhменьше или равны нулю, или вычислениеlocation.x + wилиlocation.y + hприводит к переполнению целых чисел -
IllegalArgumentException- еслиdataTypeне является одним из поддерживаемых типов данных, которыми являютсяDataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORTилиDataBuffer.TYPE_INT -
NullPointerException- еслиdataBufferравно null
createPackedRaster
public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
int w,
int h,
int scanlineStride,
int[] bandMasks,
Point location) Создаёт Raster на основе SinglePixelPackedSampleModel с указанным DataBuffer, шириной, высотой, шагом строки и масками каналов. Количество каналов определяется по длине массива bandMasks. Верхний левый угол Raster задаётся аргументом location. Если location равно null, используется (0, 0).
- Параметры:
-
dataBuffer- данные изображения -
w- ширина данных изображения в пикселях -
h- высота данных изображения в пикселях -
scanlineStride- шаг строки данных изображения -
bandMasks- массив, содержащий запись для каждого канала -
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
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- данные изображения -
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 (если есть) или null.
- Возвращает:
- родительский Raster или
null.
getSampleModelTranslateX
public final int getSampleModelTranslateX()
Возвращает смещение по оси X от системы координат SampleModel к системе координат Raster. Для преобразования координаты пикселя по оси X из системы координат Raster в систему координат SampleModel необходимо вычесть это значение.
- Возвращает:
- смещение по оси X от пространства координат SampleModel к пространству координат Raster.
getSampleModelTranslateY
public final int getSampleModelTranslateY()
Возвращает смещение по оси Y от системы координат SampleModel к системе координат Raster. Для преобразования координаты пикселя по оси Y из системы координат Raster в систему координат SampleModel необходимо вычесть это значение.
- Возвращает:
- смещение по оси Y от пространства координат SampleModel к пространству координат Raster.
createCompatibleWritableRaster
public WritableRaster createCompatibleWritableRaster()
Создаёт совместимый WritableRaster с теми же размерами, что и этот Raster, с тем же SampleModel и новым инициализированным DataBuffer.
- Возвращает:
- совместимый WritableRaster с тем же sample model и новым data buffer.
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.
- Параметры:
-
rect- aRectangle, определяющий размер и расположениеWritableRaster - Возвращает:
- совместимый
WritableRasterс заданным размером и расположением, и новым образцом модели и буфером данных. - Выбрасывает:
-
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.
- Параметры:
-
x- координата X левого верхнего углаWritableRaster -
y- координата Y левого верхнего углаWritableRaster -
w- заданная ширинаWritableRaster -
h- заданная высотаWritableRaster - Возвращает:
- совместимый
WritableRasterс заданными размером и расположением, и новым образцом модели и буфером данных. - Выбрасывает:
-
RasterFormatException- еслиwилиhменьше или равны нулю, или вычислениеx + wилиy + hприводит к переполнению целого числа
createTranslatedChild
public Raster createTranslatedChild(int childMinX,
int childMinY) Создаёт Raster с таким же размером, SampleModel и DataBuffer, как у этого, но с другим расположением. Новый Raster будет содержать ссылку на текущий Raster, доступный через метод getParent().
- Параметры:
-
childMinX- координата X левого верхнего угла новогоRaster -
childMinY- координата Y левого верхнего угла новогоRaster - Возвращает:
- новый
Rasterс таким же размером, SampleModel и DataBuffer, как у этогоRaster, но с заданным расположением. - Выбрасывает:
-
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.
- Параметры:
-
parentX- Координата X верхнего левого угла в координатах этого Raster -
parentY- Координата Y верхнего левого угла в координатах этого Raster -
width- Ширина области, начинающейся в (parentX, parentY) -
height- Высота области, начинающейся в (parentX, parentY). -
childMinX- Координата X верхнего левого угла возвращаемого Raster -
childMinY- Координата Y верхнего левого угла возвращаемого Raster -
bandList- Массив индексов полос или null для использования всех полос - Возвращает:
- новый
Raster. - Выбрасывает:
-
RasterFormatException- если указанный подрегион находится вне границ растра. -
RasterFormatException- еслиwidthилиheightменьше или равны нулю, или вычислениеparentX + width,parentY + height,childMinX + width, илиchildMinY + heightприводит к переполнению целого числа
getBounds
public Rectangle getBounds()
Возвращает прямоугольник границ этого Raster. Эта функция возвращает ту же информацию, что и getMinX/MinY/Width/Height.
- Возвращает:
- прямоугольник границ этого
Raster.
getMinX
public final int getMinX()
Возвращает минимальную допустимую координату X Raster.
- Возвращает:
- минимальную координату x этого
Raster.
getMinY
public final int getMinY()
Возвращает минимальную допустимую координату Y Raster.
- Возвращает:
- минимальную координату y этого
Raster.
getWidth
public final int getWidth()
Возвращает ширину Raster в пикселях.
- Возвращает:
- ширину этого
Raster.
getHeight
public final int getHeight()
Возвращает высоту Raster в пикселях.
- Возвращает:
- высоту этого
Raster.
getNumBands
public final int getNumBands()
Возвращает количество полос (образцов на пиксель) в этом Raster.
- Возвращает:
- количество полос этого
Raster.
getNumDataElements
public final int getNumDataElements()
Возвращает количество элементов данных, необходимых для передачи одного пикселя через методы getDataElements и setDataElements. Когда пиксели передаются через эти методы, они могут передаваться в упакованном или распакованном формате в зависимости от реализации базовой SampleModel. Используя эти методы, пиксели передаются как массив из getNumDataElements() элементов примитивного типа, заданного getTransferType(). Тип TransferType может или не может совпадать с типом данных хранения DataBuffer.
- Возвращает:
- количество элементов данных.
getTransferType
public final int getTransferType()
Возвращает тип TransferType, используемый для передачи пикселей через методы getDataElements и setDataElements. Когда пиксели передаются через эти методы, они могут передаваться в упакованном или распакованном формате в зависимости от реализации базовой SampleModel. Используя эти методы, пиксели передаются как массив из getNumDataElements() элементов примитивного типа, заданного getTransferType(). Тип TransferType может или не может совпадать с типом данных хранения DataBuffer. Тип TransferType будет одним из типов, определённых в DataBuffer.
- Возвращает:
- этот тип передачи.
getDataBuffer
public DataBuffer getDataBuffer()
Возвращает DataBuffer, связанный с этим Raster.
- Возвращает:
- DataBuffer этого
Raster.
getSampleModel
public SampleModel getSampleModel()
Возвращает SampleModel, описывающий расположение данных изображения.
- Возвращает:
- SampleModel этого
Raster.
getDataElements
public Object getDataElements(int x,
int y,
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.
- Параметры:
-
x- Координата X расположения пикселя -
y- Координата Y расположения пикселя -
outData- Ссылка на объект на массив типа, определённого getTransferType(), и длиной getNumDataElements(). Если null, будет выделен массив соответствующего типа и размера - Возвращает:
- Ссылка на объект на массив типа, определённого getTransferType(), с запрошенными данными пикселя.
- Выбрасывает:
-
ArrayIndexOutOfBoundsException- если координаты не находятся в границах или если outData слишком мал для хранения результата. - См. также:
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.
- Параметры:
-
x- Координата X верхнего левого пикселя -
y- Координата Y верхнего левого пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
outData- Ссылка на объект массива типа, определенного getTransferType(), и длиной w*h*getNumDataElements(). Если null, будет выделен массив соответствующего типа и размера. - Возвращает:
- Ссылка на объект массива типа, определенного getTransferType(), с запрошенными пиксельными данными.
- Выбрасывает:
-
ArrayIndexOutOfBoundsException- если координаты вне границ или outData слишком мал для хранения выходных данных. - См. также:
SampleModel.getDataElements(int, int, int, int, Object, DataBuffer)
getPixel
public int[] getPixel(int x,
int y,
int[] iArray) Возвращает образцы в массиве int для указанного пикселя. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты вне границ. Однако явная проверка границ не гарантируется.
- Параметры:
-
x- Координата X пикселя -
y- Координата Y пикселя -
iArray- Дополнительно предопределённый массив int - Возвращает:
- образцы для указанного пикселя.
- Выбрасывает:
-
ArrayIndexOutOfBoundsException- если координаты вне границ, или если iArray слишком мал для хранения выходных данных.
getPixel
public float[] getPixel(int x,
int y,
float[] fArray) Возвращает образцы в массиве float для указанного пикселя. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты вне границ. Однако явная проверка границ не гарантируется.
- Параметры:
-
x- Координата X пикселя -
y- Координата Y пикселя -
fArray- Дополнительно предопределённый массив float - Возвращает:
- образцы для указанного пикселя.
- Выбрасывает:
-
ArrayIndexOutOfBoundsException- если координаты вне границ, или если fArray слишком мал для хранения выходных данных.
getPixel
public double[] getPixel(int x,
int y,
double[] dArray) Возвращает образцы в массиве double для указанного пикселя. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты вне границ. Однако явная проверка границ не гарантируется.
- Параметры:
-
x- Координата X пикселя -
y- Координата Y пикселя -
dArray- Дополнительно предопределённый массив double - Возвращает:
- образцы для указанного пикселя.
- Выбрасывает:
-
ArrayIndexOutOfBoundsException- если координаты вне границ, или если dArray слишком мал для хранения выходных данных.
getPixels
public int[] getPixels(int x,
int y,
int w,
int h,
int[] iArray) Возвращает массив int, содержащий все образцы для прямоугольника пикселей, по одному образцу на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты вне границ. Однако явная проверка границ не гарантируется.
- Параметры:
-
x- Координата X верхнего левого пикселя -
y- Координата Y верхнего левого пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
iArray- Дополнительно предопределённый массив int - Возвращает:
- образцы для указанного прямоугольника пикселей.
- Выбрасывает:
-
ArrayIndexOutOfBoundsException- если координаты вне границ, или если iArray слишком мал для хранения выходных данных.
getPixels
public float[] getPixels(int x,
int y,
int w,
int h,
float[] fArray) Возвращает массив float, содержащий все образцы для прямоугольника пикселей, по одному образцу на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты вне границ. Однако явная проверка границ не гарантируется.
- Параметры:
-
x- Координата X пикселя -
y- Координата Y пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
fArray- Дополнительно предопределённый массив float - Возвращает:
- образцы для указанного прямоугольника пикселей.
- Выбрасывает:
-
ArrayIndexOutOfBoundsException- если координаты вне границ, или если fArray слишком мал для хранения выходных данных.
getPixels
public double[] getPixels(int x,
int y,
int w,
int h,
double[] dArray) Возвращает массив double, содержащий все образцы для прямоугольника пикселей, по одному образцу на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты вне границ. Однако явная проверка границ не гарантируется.
- Параметры:
-
x- Координата X верхнего левого пикселя -
y- Координата Y верхнего левого пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
dArray- Дополнительно предопределённый массив double - Возвращает:
- образцы для указанного прямоугольника пикселей.
- Выбрасывает:
-
ArrayIndexOutOfBoundsException- если координаты вне границ, или если dArray слишком мал для хранения выходных данных.
getSample
public int getSample(int x,
int y,
int b) Возвращает образец в указанной полосе для пикселя, расположенного в (x,y), как int. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты вне границ. Однако явная проверка границ не гарантируется.
- Параметры:
-
x- Координата X пикселя -
y- Координата Y пикселя -
b- Полоса для возврата - Возвращает:
- образец в указанной полосе для пикселя по указанным координатам.
- Выбрасывает:
-
ArrayIndexOutOfBoundsException- если координаты или индекс полосы находятся вне границ.
getSampleFloat
public float getSampleFloat(int x,
int y,
int b) Возвращает образец в указанной полосе для пикселя, расположенного в (x,y), как float. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты вне границ. Однако явная проверка границ не гарантируется.
- Параметры:
-
x- Координата X пикселя -
y- Координата Y пикселя -
b- Полоса для возврата - Возвращает:
- образец в указанной полосе для пикселя по указанным координатам.
- Выбрасывает:
-
ArrayIndexOutOfBoundsException- если координаты или индекс полосы находятся вне границ.
getSampleDouble
public double getSampleDouble(int x,
int y,
int b) Возвращает образец в указанной полосе для пикселя, расположенного в (x,y), как double. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты вне границ. Однако явная проверка границ не гарантируется.
- Параметры:
-
x- Координата X пикселя -
y- Координата Y пикселя -
b- Полоса для возврата - Возвращает:
- образец в указанной полосе для пикселя по указанным координатам.
- Выбрасывает:
-
ArrayIndexOutOfBoundsException- если координаты или индекс полосы находятся вне границ.
getSamples
public int[] getSamples(int x,
int y,
int w,
int h,
int b,
int[] iArray) Возвращает образцы для указанной полосы для указанного прямоугольника пикселей в массиве int, по одному образцу на элемент массива. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты вне границ. Однако явная проверка границ не гарантируется.
- Параметры:
-
x- Координата X верхнего левого пикселя -
y- Координата Y верхнего левого пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
b- Полоса для возврата -
iArray- Дополнительно предопределённый массив int - Возвращает:
- образцы для указанной полосы для указанного прямоугольника пикселей.
- Выбрасывает:
-
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, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/image/Raster.html