Класс Raster
- Прямые известные подклассы:
WritableRaster
public class Raster extends Object
Raster определяет значения для пикселей, занимающих определённую прямоугольную область на плоскости, не обязательно включающую (0, 0). Прямоугольник, известный как ограничивающий прямоугольник Raster и доступный посредством метода getBounds, определяется значениями minX, minY, width и height. Значения minX и minY определяют координаты верхнего левого угла Raster. Обращения к пикселям за пределами ограничивающего прямоугольника могут привести к выбрасыванию исключения или к ссылкам на непредназначенные элементы связанного DataBuffer. Пользователь несёт ответственность за избежание доступа к таким пикселям.
SampleModel описывает, как образцы Raster хранятся в элементах примитивного массива DataBuffer. Образцы могут храниться по одному на элемент данных, как в PixelInterleavedSampleModel или BandedSampleModel, или упакованы по несколько в элемент, как в SinglePixelPackedSampleModel или MultiPixelPackedSampleModel. SampleModel также контролирует, расширяются ли образцы со знаком, что позволяет хранить беззнаковые данные в знаковом типе данных Java, таких как byte, short и int.
Хотя Raster может находиться где угодно на плоскости, SampleModel использует простую систему координат, начинающуюся с (0, 0). Поэтому Raster содержит коэффициент сдвига, позволяющий отображать расположения пикселей между системой координат Raster и SampleModel. Преобразование из системы координат SampleModel в систему координат Raster можно получить с помощью методов getSampleModelTranslateX и getSampleModelTranslateY.
Raster может совместно использовать DataBuffer с другим Raster, как при явном построении, так и с использованием методов createChild и createTranslatedChild. Rasters, созданные этими методами, могут возвращать ссылку на Raster, из которого они были созданы, с помощью метода getParent. Для Raster, не созданного путём вызова createTranslatedChild или createChild, getParent вернёт null.
Метод createTranslatedChild возвращает новый Raster, который разделяет все данные текущего Raster, но занимает ограничивающий прямоугольник той же ширины и высоты, но с другим началом. Например, если родительский Raster занимал область (10, 10) до (100, 100), и Raster сдвиг был определён для начала в (50, 50), то пиксель (20, 20) родителя и пиксель (60, 60) дочернего занимают то же место в DataBuffer, используемом обоими Rasters. В первом случае к координатам пикселя необходимо добавить (-10, -10), чтобы получить соответствующие координаты SampleModel, а во втором случае (-50, -50).
Преобразование между родительским и дочерним Raster можно определить, вычитая значения sampleModelTranslateX и sampleModelTranslateY дочернего из значений родительского.
Метод createChild может использоваться для создания нового Raster, занимающего только подмножество ограничивающего прямоугольника родителя (с той же или сдвинутой системой координат) или с подмножеством полос родителя.
Все конструкторы защищены. Правильный способ создания Raster — использование одного из статических методов создания, определённых в этом классе. Эти методы создают экземпляры Raster, использующие стандартные SampleModels 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. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
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, что и этот, но с другим расположением. |
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 в пикселях. |
Подробное описание полей
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)
- Parameters:
-
sampleModel- SampleModel, определяющая макет -
origin- Точка, определяющая начало координат - Throws:
-
RasterFormatException- если вычислениеorigin.x + sampleModel.getWidth()илиorigin.y + sampleModel.getHeight()приводит к переполнению целых чисел -
NullPointerException- если либоsampleModel, либоoriginравно null
Raster
protected Raster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
- Parameters:
-
sampleModel- SampleModel, определяющая макет -
dataBuffer- DataBuffer, содержащий данные изображения -
origin- Точка, определяющая начало координат - Throws:
-
RasterFormatException- если вычислениеorigin.x + sampleModel.getWidth()илиorigin.y + sampleModel.getHeight()приводит к переполнению целых чисел -
NullPointerException- если либоsampleModel, либоoriginравно null
Raster
protected Raster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion, Point sampleModelTranslate, Raster parent)
- Parameters:
-
sampleModel- SampleModel, определяющая макет -
dataBuffer- DataBuffer, содержащий данные изображения -
aRegion- Прямоугольник, определяющий область изображения -
sampleModelTranslate- Точка, определяющая сдвиг от координат SampleModel к координатам Raster -
parent- Родительский Raster (если есть) - Throws:
-
NullPointerException- если любой изsampleModel,dataBuffer,aRegionилиsampleModelTranslateравен null -
RasterFormatException- если уaRegionширина или высота меньше или равна нулю, или вычислениеaRegion.x + aRegion.widthилиaRegion.y + aRegion.heightприводит к переполнению целых чисел
Подробное описание методов
createInterleavedRaster
public static WritableRaster createInterleavedRaster(int dataType, int w, int h, int bands, Point location)
Левый верхний угол Raster задаётся аргументом location. Если location равен null, используется (0, 0). Параметр dataType должен быть одним из перечислений, определённых в классе DataBuffer.
Обратите внимание, что интерлинованные DataBuffer.TYPE_INT Raster не поддерживаются. Для создания Raster с 1 каналом типа DataBuffer.TYPE_INT, используйте Raster.createPackedRaster().
В настоящее время поддерживаются только типы данных TYPE_BYTE и TYPE_USHORT.
- Parameters:
-
dataType- тип данных для хранения образцов -
w- ширина изображения в пикселях -
h- высота изображения в пикселях -
bands- количество каналов -
location- верхний левый уголRaster - Returns:
- объект WritableRaster с указанным типом данных, шириной, высотой и количеством каналов.
- Throws:
-
IllegalArgumentException- еслиdataTypeне является одним из поддерживаемых типов данных -
IllegalArgumentException- еслиbandsменьше 1 -
IllegalArgumentException- еслиwиhне оба > 0 -
IllegalArgumentException- если произведениеwиhбольшеInteger.MAX_VALUE -
RasterFormatException- если вычислениеlocation.x + wилиlocation.y + hприводит к переполнению целых чисел
createInterleavedRaster
public static WritableRaster createInterleavedRaster(int dataType, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
Левый верхний угол Raster задаётся аргументом location. Если location равен null, используется (0, 0). Параметр dataType должен быть одним из перечислений, определённых в классе DataBuffer.
Обратите внимание, что интерлинованные DataBuffer.TYPE_INT Raster не поддерживаются. Для создания Raster с 1 каналом типа DataBuffer.TYPE_INT, используйте Raster.createPackedRaster().
В настоящее время поддерживаются только типы данных TYPE_BYTE и TYPE_USHORT.
- Parameters:
-
dataType- тип данных для хранения образцов -
w- ширина изображения в пикселях -
h- высота изображения в пикселях -
scanlineStride- шаг строки данных изображения -
pixelStride- шаг пикселя данных изображения -
bandOffsets- смещения всех каналов -
location- верхний левый уголRaster - Returns:
- объект WritableRaster с указанными типом данных, шириной, высотой, шагом строки, шагом пикселя и смещениями каналов.
- Throws:
-
IllegalArgumentException- еслиdataTypeне является одним из поддерживаемых типов данных, которые являютсяDataBuffer.TYPE_BYTE, илиDataBuffer.TYPE_USHORT. -
IllegalArgumentException- еслиwиhне оба > 0 -
IllegalArgumentException- если произведениеwиhбольшеInteger.MAX_VALUE -
RasterFormatException- если вычислениеlocation.x + wилиlocation.y + hприводит к переполнению целых чисел -
IllegalArgumentException- еслиscanlineStrideменьше 0 -
IllegalArgumentException- еслиpixelStrideменьше 0 -
NullPointerException- еслиbandOffsetsравно null
createBandedRaster
public static WritableRaster createBandedRaster(int dataType, int w, int h, int bands, Point location)
Левый верхний угол Raster задаётся аргументом 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 бит. В обоих случаях должны быть соблюдены требования к dataType и bitsPerBand, налагаемые соответствующим SampleModel.
Левый верхний угол Raster задаётся аргументом location. Если location равен null, используется (0, 0). Параметр dataType должен быть одним из перечисленных значений, определённых в классе DataBuffer.
В настоящее время поддерживаются только типы данных TYPE_BYTE, TYPE_USHORT и TYPE_INT.
- Параметры:
-
dataType- тип данных для хранения образцов -
w- ширина в пикселях данных изображения -
h- высота в пикселях данных изображения -
bands- количество каналов -
bitsPerBand- количество бит на канал -
location- верхний левый уголRaster - Возвращает:
- объект WritableRaster с указанным типом данных, шириной, высотой, количеством каналов и количеством бит на канал.
- Исключения:
-
RasterFormatException- еслиwилиhменьше или равно нулю, или вычислениеlocation.x + wилиlocation.y + hприводит к переполнению целых чисел -
IllegalArgumentException- если произведениеbitsPerBandиbandsбольше количества бит, хранимых вdataType -
IllegalArgumentException- еслиbitsPerBandилиbandsне больше нуля -
IllegalArgumentException- еслиdataTypeне является одним из поддерживаемых типов данных, которые являютсяDataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORTилиDataBuffer.TYPE_INT
createInterleavedRaster
public static WritableRaster createInterleavedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
Обратите внимание, что интерлинованные DataBuffer.TYPE_INT Raster не поддерживаются. Для создания Raster с 1 каналом типа 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)
- Parameters:
-
rect- aRectangle, который определяет размер и расположениеWritableRaster - Returns:
- совместимый
WritableRasterс указанными размером и расположением, а также новым sample model и буфером данных. - Throws:
-
RasterFormatException- если уrectширина или высота меньше или равны нулю, или вычислениеrect.x + rect.widthилиrect.y + rect.heightприводит к переполнению целого числа -
NullPointerException- еслиrectравно null
createCompatibleWritableRaster
public WritableRaster createCompatibleWritableRaster(int x, int y, int w, int h)
- Parameters:
-
x- координата X левого верхнего углаWritableRaster -
y- координата Y левого верхнего углаWritableRaster -
w- указанная ширинаWritableRaster -
h- указанная высотаWritableRaster - Returns:
- совместимый
WritableRasterс указанными размером и расположением, а также новым sample model и буфером данных. - Throws:
-
RasterFormatException- еслиwилиhменьше или равны нулю, или вычислениеx + wилиy + hприводит к переполнению целого числа
createTranslatedChild
public Raster createTranslatedChild(int childMinX, int childMinY)
- Parameters:
-
childMinX- координата X левого верхнего угла новогоRaster -
childMinY- координата Y левого верхнего угла новогоRaster - Returns:
- новый
Rasterс тем же размером, SampleModel и DataBuffer, что и этотRaster, но с указанным расположением. - Throws:
-
RasterFormatException- если вычислениеchildMinX + this.getWidth()илиchildMinY + this.getHeight()приводит к переполнению целого числа
createChild
public Raster createChild(int parentX, int parentY, int width, int height, int childMinX, int childMinY, int[] bandList)
Параметры parentX, parentY, width и height формируют прямоугольник в системе координат этого Raster, указывающий область пикселей, которые будут использоваться совместно. Ошибка будет выброшена, если этот прямоугольник не находится внутри границ текущего Raster.
Новый Raster может дополнительно быть сдвинут в другую систему координат для плоскости, отличную от используемой текущим Raster. Параметры childMinX и childMinY задают новые координаты (x, y) верхнего левого пикселя возвращаемого Raster; координаты (childMinX, childMinY) в новом Raster будут соответствовать тем же пикселям, что и координаты (parentX, parentY) в текущем Raster.
Новый Raster может быть определен так, чтобы содержать только подмножество полос текущего Raster, возможно, в переупорядоченном виде, с помощью параметра bandList. Если bandList равно null, предполагается, что он включает все полосы текущего Raster в их текущем порядке.
Чтобы создать новый Raster, содержащий подрегион текущего Raster, но использующий ту же систему координат и полосы, этот метод должен быть вызван с childMinX равным parentX, childMinY равным parentY и bandList равным null.
- Parameters:
-
parentX- Координата X левого верхнего угла в координатах этого Raster -
parentY- Координата Y левого верхнего угла в координатах этого Raster -
width- Ширина области, начинающейся с (parentX, parentY) -
height- Высота области, начинающейся с (parentX, parentY). -
childMinX- Координата X левого верхнего угла возвращаемого Raster -
childMinY- Координата Y левого верхнего угла возвращаемого Raster -
bandList- Массив индексов полос или null для использования всех полос - Returns:
- новый
Raster. - Throws:
-
RasterFormatException- если указанный подрегион находится за пределами границ Raster. -
RasterFormatException- еслиwidthилиheightменьше или равно нулю, или вычислениеparentX + width,parentY + height,childMinX + width, илиchildMinY + heightприводит к переполнению целого числа
getBounds
public Rectangle getBounds()
- Returns:
- прямоугольник, ограничивающий этот
Raster.
getMinX
public final int getMinX()
- Returns:
- минимальная координата x этого
Raster.
getMinY
public final int getMinY()
- Returns:
- минимальная координата y этого
Raster.
getWidth
public final int getWidth()
- Returns:
- ширина этого
Raster.
getHeight
public final int getHeight()
- Returns:
- высота этого
Raster.
getNumBands
public final int getNumBands()
- Returns:
- количество полос этого
Raster.
getNumDataElements
public final int getNumDataElements()
- Returns:
- количество элементов данных.
getTransferType
public final int getTransferType()
- Returns:
- этот тип передачи.
getDataBuffer
public DataBuffer getDataBuffer()
- Returns:
- DataBuffer этого
Raster.
getSampleModel
public SampleModel getSampleModel()
- Returns:
- SampleModel этого
Raster.
getDataElements
public Object getDataElements(int x, int y, Object outData)
- Parameters:
-
x- Координата X расположения пикселя -
y- Координата Y расположения пикселя -
outData- Ссылка на объект на массив типа, определенного getTransferType(), и длиной getNumDataElements(). Если null, будет выделен массив соответствующего типа и размера - Returns:
- Ссылка на объект на массив типа, определенного getTransferType(), с запрошенными данными пикселя.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если outData слишком мал для хранения выходных данных. - See Also:
getDataElements
public Object getDataElements(int x, int y, int w, int h, Object outData)
- Parameters:
-
x- Координата X верхнего левого пикселя -
y- Координата Y верхнего левого пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
outData- Ссылка на объект на массив типа, определённого getTransferType(), и длиной w*h*getNumDataElements(). Если null, будет выделен массив соответствующего типа и размера. - Returns:
- Ссылка на объект на массив типа, определённого getTransferType(), с запрошенными данными пикселей.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если outData слишком мал для хранения выходных данных. - See Also:
getPixel
public int[] getPixel(int x, int y, int[] iArray)
- Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
iArray- Необязательно предварительно выделенный массив int - Returns:
- выборки для указанного пикселя.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если iArray слишком мал для хранения выходных данных.
getPixel
public float[] getPixel(int x, int y, float[] fArray)
- Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
fArray- Необязательно предварительно выделенный массив float - Returns:
- выборки для указанного пикселя.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если fArray слишком мал для хранения выходных данных.
getPixel
public double[] getPixel(int x, int y, double[] dArray)
- Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
dArray- Необязательно предварительно выделенный массив double - Returns:
- выборки для указанного пикселя.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если dArray слишком мал для хранения выходных данных.
getPixels
public int[] getPixels(int x, int y, int w, int h, int[] iArray)
- Parameters:
-
x- Координата X верхнего левого пикселя -
y- Координата Y верхнего левого пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
iArray- Необязательно предварительно выделенный массив int - Returns:
- выборки для указанного прямоугольника пикселей.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если iArray слишком мал для хранения выходных данных.
getPixels
public float[] getPixels(int x, int y, int w, int h, float[] fArray)
- Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
fArray- Необязательно предварительно выделенный массив float - Returns:
- выборки для указанного прямоугольника пикселей.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если fArray слишком мал для хранения выходных данных.
getPixels
public double[] getPixels(int x, int y, int w, int h, double[] dArray)
- Parameters:
-
x- Координата X верхнего левого пикселя -
y- Координата Y верхнего левого пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
dArray- Необязательно предварительно выделенный массив double - Returns:
- выборки для указанного прямоугольника пикселей.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если dArray слишком мал для хранения выходных данных.
getSample
public int getSample(int x, int y, int b)
- Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
b- Полоса для возврата - Returns:
- выборка в указанной полосе для пикселя в указанных координатах.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты или индекс полосы не находятся в пределах границ.
getSampleFloat
public float getSampleFloat(int x, int y, int b)
- Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
b- Полоса для возврата - Returns:
- выборка в указанной полосе для пикселя в указанных координатах.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты или индекс полосы не находятся в пределах границ.
getSampleDouble
public double getSampleDouble(int x, int y, int b)
- Parameters:
-
x- Координата X местоположения пикселя -
y- Координата Y местоположения пикселя -
b- Полоса для возврата - Returns:
- выборка в указанной полосе для пикселя в указанных координатах.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты или индекс полосы не находятся в пределах границ.
getSamples
public int[] getSamples(int x, int y, int w, int h, int b, int[] iArray)
- Parameters:
-
x- Координата X верхнего левого пикселя -
y- Координата Y верхнего левого пикселя -
w- Ширина прямоугольника пикселей -
h- Высота прямоугольника пикселей -
b- Полоса для возврата -
iArray- Необязательно предварительно выделенный массив int - Returns:
- выборки для указанной полосы для заданного прямоугольника пикселей.
- Throws:
-
ArrayIndexOutOfBoundsException- если координаты или индекс полосы не находятся в пределах границ или если iArray слишком мал для хранения выходных данных.
getSamples
public float[] getSamples(int x, int y, int w, int h, int b, float[] fArray)
- Параметры:
-
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, 2023, 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/21/docs/api/java.desktop/java/awt/image/Raster.html