Класс 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 из соответствующих значений родительского.
Метод 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() |
Возвращает ограничивающий Rectangle этого 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 (если он есть) или 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 в пикселях. |
Подробное описание полей
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.
Обратите внимание: чередующиеся Raster для 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больше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.
Обратите внимание: чередующиеся Raster для 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 -
NullPointerException— еслиbandOffsetsравен null
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 -
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 с заданными типом данных, шириной, высотой и масками каналов.
- Исключения:
-
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)
Если каналов больше одного, SampleModel будет иметь тип SinglePixelPackedSampleModel, причем каждый канал будет занимать bitsPerBand бит. В обоих случаях должны выполняться требования соответствующей SampleModel к dataType и bitsPerBand.
Верхний левый угол Raster задается аргументом location. Если location равен null, используется (0, 0). Параметр dataType должен иметь одно из перечисленных значений, определенных в классе DataBuffer.
В настоящее время поддерживаются только типы данных TYPE_BYTE, TYPE_USHORT и TYPE_INT.
- Параметры:
-
dataType— тип данных для хранения отсчетов -
w— ширина данных изображения в пикселях -
h— высота данных изображения в пикселях -
bands— количество каналов -
bitsPerBand— количество бит на канал -
location— верхний левый уголRaster - Возвращает:
- объект WritableRaster с заданными типом данных, шириной, высотой, количеством каналов и количеством бит на канал.
- Исключения:
-
RasterFormatException— еслиwилиhменьше либо равен нулю или вычислениеlocation.x + wилиlocation.y + hприводит к переполнению целого числа -
IllegalArgumentException— если произведениеbitsPerBandиbandsбольше количества бит, содержащихся вdataType -
IllegalArgumentException— еслиbitsPerBandилиbandsне больше нуля -
IllegalArgumentException— еслиdataTypeне относится к поддерживаемым типам данных:DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORTилиDataBuffer.TYPE_INT
createInterleavedRaster
public static WritableRaster createInterleavedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
Обратите внимание: чередующиеся Raster для 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содержит более одного банка. -
IllegalArgumentException— еслиwиhне оба больше 0 -
IllegalArgumentException— если произведениеwиhбольшеInteger.MAX_VALUE -
RasterFormatException— если вычислениеlocation.x + wилиlocation.y + hприводит к переполнению целого числа -
IllegalArgumentException— еслиscanlineStrideменьше 0 -
IllegalArgumentException— еслиpixelStrideменьше 0 -
NullPointerException— еслиbandOffsetsравен null
createBandedRaster
public static WritableRaster createBandedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
- Параметры:
-
dataBuffer—DataBuffer, содержащий данные изображения -
w— ширина данных изображения в пикселях -
h— высота данных изображения в пикселях -
scanlineStride— шаг строки данных изображения -
bankIndices— индексы банков для каждого канала -
bandOffsets— смещения всех каналов -
location— верхний левый уголRaster - Возвращает:
- объект WritableRaster с заданными
DataBuffer, шириной, высотой, шагом строки, индексами банков и смещениями каналов. - Исключения:
-
NullPointerException— еслиdataBufferравен null, илиbankIndicesравен null, илиbandOffsetsравен null -
IllegalArgumentException— еслиdataTypeне относится к поддерживаемым типам данных:DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORTилиDataBuffer.TYPE_INT, либо еслиwилиhменьше либо равен нулю, либо если произведениеwиhбольшеInteger.MAX_VALUE, либо еслиscanlineStrideменьше нуля, либо если длинаbankIndicesне равна длинеbandOffsets -
RasterFormatException— если вычислениеlocation.x + wилиlocation.y + hприводит к переполнению целого числа
createPackedRaster
public static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bandMasks, Point location)
- Параметры:
-
dataBuffer—DataBuffer, содержащий данные изображения -
w— ширина данных изображения в пикселях -
h— высота данных изображения в пикселях -
scanlineStride— шаг строки данных изображения -
bandMasks— массив, содержащий элемент для каждого канала -
location— верхний левый уголRaster - Возвращает:
- объект WritableRaster с заданными
DataBuffer, шириной, высотой, шагом строки и масками каналов. - Исключения:
-
RasterFormatException— еслиwилиhменьше либо равен нулю или вычислениеlocation.x + wилиlocation.y + hприводит к переполнению целого числа -
IllegalArgumentException— еслиdataBufferне относится к поддерживаемым типам данных:DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORTилиDataBuffer.TYPE_INT -
RasterFormatException— еслиdataBufferсодержит более одного банка. -
NullPointerException— еслиdataBufferравен null
createPackedRaster
public static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int bitsPerPixel, Point location)
- Параметры:
-
dataBuffer—DataBuffer, содержащий данные изображения -
w— ширина данных изображения в пикселях -
h— высота данных изображения в пикселях -
bitsPerPixel— количество бит на пиксель -
location— верхний левый уголRaster - Возвращает:
- объект WritableRaster с заданными
DataBuffer, шириной, высотой и количеством бит на пиксель. - Исключения:
-
RasterFormatException— еслиwилиhменьше либо равен нулю или вычислениеlocation.x + wилиlocation.y + hприводит к переполнению целого числа -
IllegalArgumentException— еслиdataTypeне относится к поддерживаемым типам данных:DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORTилиDataBuffer.TYPE_INT -
RasterFormatException— еслиdataBufferсодержит более одного банка. -
NullPointerException— еслиdataBufferравен null
createRaster
public static Raster createRaster(SampleModel sm, DataBuffer db, Point location)
- Параметры:
-
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и location.- Исключения:
-
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и 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.
getSampleModelTranslateX
public final int getSampleModelTranslateX()
- Возвращает:
- смещение по X из пространства координат SampleModel объекта Raster в пространство координат Raster.
getSampleModelTranslateY
public final int getSampleModelTranslateY()
- Возвращает:
- смещение по Y из пространства координат SampleModel объекта Raster в пространство координат Raster.
createCompatibleWritableRaster
public WritableRaster createCompatibleWritableRaster()
- Возвращает:
- совместимый
WritableRasterс той же моделью образцов и новым буфером данных.
createCompatibleWritableRaster
public WritableRaster createCompatibleWritableRaster(int w, int h)
- Параметры:
-
w— заданная ширина новогоWritableRaster -
h— заданная высота новогоWritableRaster - Возвращает:
- совместимый
WritableRasterуказанного размера с новой моделью образцов и новым буфером данных. - Вызывает:
-
RasterFormatException— если ширина или высота меньше либо равна нулю.
createCompatibleWritableRaster
public WritableRaster createCompatibleWritableRaster(Rectangle rect)
- Параметры:
-
rect—Rectangle, задающий размер и расположение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)
- Параметры:
-
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)
- Параметры:
-
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/image/Raster.html