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