Класс WritableRaster
public class WritableRaster extends Raster
Конструкторы этого класса защищены. Для создания WritableRaster используйте один из фабричных методов createWritableRaster в классе Raster.
Краткое описание полей
Поля, объявленные в классе java.awt.image.Raster
dataBuffer, height, minX, minY, numBands, numDataElements, parent, sampleModel, sampleModelTranslateX, sampleModelTranslateY, width
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт WritableRaster с заданным SampleModel и DataBuffer. |
|
protected |
Создаёт WritableRaster с заданным SampleModel, DataBuffer и родительским элементом. |
|
protected |
Создаёт WritableRaster с заданным SampleModel. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
WritableRaster |
createWritableChild |
Возвращает новый WritableRaster, который совместно использует весь или часть DataBuffer этого WritableRaster. |
WritableRaster |
createWritableTranslatedChild |
Создаёт WritableRaster с такими же размерами, SampleModel и DataBuffer, что и этот, но с другим расположением. |
WritableRaster |
getWritableParent() |
Возвращает родительский WritableRaster (если таковой имеется) этого WritableRaster, иначе null. |
void |
setDataElements |
Устанавливает данные для прямоугольника пикселей из примитивного массива типа TransferType. |
void |
setDataElements |
Устанавливает данные для прямоугольника пикселей из входного Raster. |
void |
setDataElements |
Устанавливает данные для одного пикселя из примитивного массива типа TransferType. |
void |
setPixel |
Устанавливает пиксель в DataBuffer, используя массив double для ввода. |
void |
setPixel |
Устанавливает пиксель в DataBuffer, используя массив float для ввода. |
void |
setPixel |
Устанавливает пиксель в DataBuffer, используя массив int для ввода. |
void |
setPixels |
Устанавливает все образцы для прямоугольника пикселей из массива double, содержащего по одному образцу на элемент массива. |
void |
setPixels |
Устанавливает все образцы для прямоугольника пикселей из массива float, содержащего по одному образцу на элемент массива. |
void |
setPixels |
Устанавливает все образцы для прямоугольника пикселей из массива int, содержащего по одному образцу на элемент массива. |
void |
setRect |
Копирует пиксели из Raster srcRaster в этот WritableRaster. |
void |
setRect |
Копирует пиксели из Raster srcRaster в этот WritableRaster. |
void |
setSample |
Устанавливает образец в указанной полосе для пикселя, расположенного в (x,y) в DataBuffer, используя double для ввода. |
void |
setSample |
Устанавливает образец в указанной полосе для пикселя, расположенного в (x,y) в DataBuffer, используя float для ввода. |
void |
setSample |
Устанавливает образец в указанной полосе для пикселя, расположенного в (x,y) в DataBuffer, используя int для ввода. |
void |
setSamples |
Устанавливает образцы в указанной полосе для указанного прямоугольника пикселей из массива double, содержащего по одному образцу на элемент массива. |
void |
setSamples |
Устанавливает образцы в указанной полосе для указанного прямоугольника пикселей из массива float, содержащего по одному образцу на элемент массива. |
void |
setSamples |
Устанавливает образцы в указанной полосе для указанного прямоугольника пикселей из массива int, содержащего по одному образцу на элемент массива. |
Методы, объявленные в классе java.awt.image.Raster
createBandedRaster, createBandedRaster, createBandedRaster, createChild, createCompatibleWritableRaster, createCompatibleWritableRaster, createCompatibleWritableRaster, createCompatibleWritableRaster, createInterleavedRaster, createInterleavedRaster, createInterleavedRaster, createPackedRaster, createPackedRaster, createPackedRaster, createPackedRaster, createRaster, createTranslatedChild, createWritableRaster, createWritableRaster, getBounds, getDataBuffer, getDataElements, getDataElements, getHeight, getMinX, getMinY, getNumBands, getNumDataElements, getParent, getPixel, getPixel, getPixel, getPixels, getPixels, getPixels, getSample, getSampleDouble, getSampleFloat, getSampleModel, getSampleModelTranslateX, getSampleModelTranslateY, getSamples, getSamples, getSamples, getTransferType, getWidth
Подробное описание конструкторов
WritableRaster
protected WritableRaster(SampleModel sampleModel, Point origin)
- Параметры:
-
sampleModel- SampleModel, определяющий макет. -
origin- Точка, определяющая начало координат. - Исключения:
-
RasterFormatException- если вычисление либоorigin.x + sampleModel.getWidth(), либоorigin.y + sampleModel.getHeight()приводит к переполнению целого числа
WritableRaster
protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
- Параметры:
-
sampleModel- SampleModel, определяющий макет. -
dataBuffer- DataBuffer, содержащий данные изображения. -
origin- Точка, определяющая начало координат. - Исключения:
-
RasterFormatException- если вычисление либоorigin.x + sampleModel.getWidth(), либоorigin.y + sampleModel.getHeight()приводит к переполнению целого числа
WritableRaster
protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion, Point sampleModelTranslate, WritableRaster parent)
- Параметры:
-
sampleModel- SampleModel, определяющий макет. -
dataBuffer- DataBuffer, содержащий данные изображения. -
aRegion- Прямоугольник, определяющий область изображения. -
sampleModelTranslate- Точка, определяющая сдвиг от координат SampleModel к координатам Raster. -
parent- Родительский элемент (если есть) этого растра. - Исключения:
-
RasterFormatException- если уaRegionширина или высота меньше или равны нулю, или вычисление либоaRegion.x + aRegion.width, либоaRegion.y + aRegion.heightприводит к переполнению целого числа
Подробное описание методов
getWritableParent
public WritableRaster getWritableParent()
- Возвращает:
- родителя этого
WritableRaster, илиnull.
createWritableTranslatedChild
public WritableRaster createWritableTranslatedChild(int childMinX, int childMinY)
- Параметры:
-
childMinX- Координата X верхнего левого угла нового Raster. -
childMinY- Координата Y верхнего левого угла нового Raster. - Возвращает:
- новый
WritableRaster, идентичный этому, за исключением указанного расположения. - Исключения:
-
RasterFormatException- если вычисление либоchildMinX + this.getWidth(), либоchildMinY + this.getHeight()приводит к переполнению целого числа
createWritableChild
public WritableRaster createWritableChild(int parentX, int parentY, int w, int h, int childMinX, int childMinY, int[] bandList)
Параметры parentX, parentY, width и height образуют прямоугольник в системе координат этого WritableRaster, указывающий область пикселей для совместного использования. Ошибка будет выброшена, если этот прямоугольник не содержится в пределах текущего WritableRaster.
Новый WritableRaster может быть дополнительно смещён в другую систему координат для плоскости, отличную от используемой текущим WritableRaster. Параметры childMinX и childMinY задают новые (x, y) координаты верхнего левого пикселя возвращаемого WritableRaster; координаты (childMinX, childMinY) в новом WritableRaster будут отображаться на тот же пиксель, что и координаты (parentX, parentY) в текущем WritableRaster.
Новый WritableRaster может быть определён таким образом, чтобы содержать только подмножество каналов текущего WritableRaster, возможно, в другом порядке, с помощью параметра bandList. Если bandList равен null, предполагается, что он включает все каналы текущего WritableRaster в их текущем порядке.
Чтобы создать новый WritableRaster, содержащий подобласть текущего WritableRaster, но разделяющий его систему координат и каналы, этот метод должен быть вызван с childMinX, равным parentX, childMinY, равным parentY, и bandList, равным null.
- Параметры:
-
parentX- Координата X верхнего левого угла в координатах этого WritableRaster. -
parentY- Координата Y верхнего левого угла в координатах этого WritableRaster. -
w- Ширина области, начинающейся с (parentX, parentY). -
h- Высота области, начинающейся с (parentX, parentY). -
childMinX- Координата X верхнего левого угла возвращаемого WritableRaster. -
childMinY- Координата Y верхнего левого угла возвращаемого WritableRaster. -
bandList- Массив индексов каналов или null для использования всех каналов. - Возвращает:
- новый
WritableRaster, разделяющий весь или частьDataBufferэтогоWritableRaster. - Исключения:
-
RasterFormatException- если подобласть находится за пределами границ растра. -
RasterFormatException- еслиwилиhменьше или равно нулю, или вычисление любого изparentX + w,parentY + h,childMinX + w, илиchildMinY + hприводит к переполнению целого числа
setDataElements
public void setDataElements(int x, int y, Object inData)
- Параметры:
-
x- Координата X расположения пикселя. -
y- Координата Y расположения пикселя. -
inData- Ссылка на объект на массив типа, определённого getTransferType() и длины getNumDataElements() содержащий данные пикселя для размещения в x,y. - Исключения:
-
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или inData слишком мал для хранения входных данных. - См. также:
setDataElements
public void setDataElements(int x, int y, Raster inRaster)
- Параметры:
-
x- Координата X расположения пикселя. -
y- Координата Y расположения пикселя. -
inRaster- Raster, содержащий данные для размещения в x,y. - Исключения:
-
NullPointerException- если inRaster равен null. -
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ.
setDataElements
public void setDataElements(int x, int y, int w, int h, Object inData)
- Parameters:
-
x- Координата X верхнего левого пикселя. -
y- Координата Y верхнего левого пикселя. -
w- Ширина прямоугольника пикселей. -
h- Высота прямоугольника пикселей. -
inData- Ссылка на объект массива типа, определенного методом getTransferType(), и длиной w*h*getNumDataElements(), содержащего данные пикселей, которые необходимо поместить между x,y и x+w-1, y+h-1. - Throws:
-
NullPointerException- если inData равно null. -
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если inData слишком мал для хранения входных данных. - See Also:
setRect
public void setRect(Raster srcRaster)
Если все образцы как источника, так и растра назначения имеют целочисленный тип и размер не более 32 бит, то вызов этого метода эквивалентен выполнению следующего кода для всех x,y адресов, допустимых в обоих растрах.
Raster srcRaster;
WritableRaster dstRaster;
for (int b = 0; b < srcRaster.getNumBands(); b++) {
dstRaster.setSample(x, y, b, srcRaster.getSample(x, y, b));
}
Таким образом, при копировании источника целого типа в целочисленный тип назначения, если размер образца источника больше размера образца назначения для определённой полосы, старшие биты образца источника усекаются. Если размер образца источника меньше размера назначения для определенной полосы, старшие биты назначения дополняются нулями или знаком в зависимости от того, рассматривает ли SampleModel srcRaster образец как знаковое или беззнаковое количество. При копировании плавающего или двойного типа источника в целочисленный тип назначения каждый образец источника преобразуется в тип назначения. При копировании целочисленного типа источника в тип float или double сначала исходный образец преобразуется в 32-битовое целое число (при необходимости), используя приведенные выше правила для целочисленных типов, а затем целое число приводится к float или double.
- Parameters:
-
srcRaster- Raster, из которого копируются пиксели. - Throws:
-
NullPointerException- если srcRaster равно null.
setRect
public void setRect(int dx, int dy, Raster srcRaster)
setRect(Raster).- Parameters:
-
dx- Коэффициент сдвига X от пространства src к пространству dst при копировании. -
dy- Коэффициент сдвига Y от пространства src к пространству dst при копировании. -
srcRaster- Raster, из которого копируются пиксели. - Throws:
-
NullPointerException- если srcRaster равно null.
setPixel
public void setPixel(int x, int y, int[] iArray)
- Parameters:
-
x- Координата X пикселя. -
y- Координата Y пикселя. -
iArray- Входные образцы в массиве int. - Throws:
-
NullPointerException- если iArray равно null. -
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если iArray слишком мал для хранения входных данных.
setPixel
public void setPixel(int x, int y, float[] fArray)
- Parameters:
-
x- Координата X пикселя. -
y- Координата Y пикселя. -
fArray- Входные образцы в массиве float. - Throws:
-
NullPointerException- если fArray равно null. -
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если fArray слишком мал для хранения входных данных.
setPixel
public void setPixel(int x, int y, double[] dArray)
- Parameters:
-
x- Координата X пикселя. -
y- Координата Y пикселя. -
dArray- Входные образцы в массиве double. - Throws:
-
NullPointerException- если dArray равно null. -
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если dArray слишком мал для хранения входных данных.
setPixels
public void setPixels(int x, int y, int w, int h, int[] iArray)
- Parameters:
-
x- Координата X верхнего левого пикселя. -
y- Координата Y верхнего левого пикселя. -
w- Ширина прямоугольника пикселей. -
h- Высота прямоугольника пикселей. -
iArray- Входной массив пикселей int. - Throws:
-
NullPointerException- если iArray равно null. -
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если iArray слишком мал для хранения входных данных.
setPixels
public void setPixels(int x, int y, int w, int h, float[] fArray)
- Parameters:
-
x- Координата X верхнего левого пикселя. -
y- Координата Y верхнего левого пикселя. -
w- Ширина прямоугольника пикселей. -
h- Высота прямоугольника пикселей. -
fArray- Входной массив пикселей float. - Throws:
-
NullPointerException- если fArray равно null. -
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если fArray слишком мал для хранения входных данных.
setPixels
public void setPixels(int x, int y, int w, int h, double[] dArray)
- Parameters:
-
x- Координата X верхнего левого пикселя. -
y- Координата Y верхнего левого пикселя. -
w- Ширина прямоугольника пикселей. -
h- Высота прямоугольника пикселей. -
dArray- Входной массив пикселей double. - Throws:
-
NullPointerException- если dArray равно null. -
ArrayIndexOutOfBoundsException- если координаты не находятся в пределах границ или если dArray слишком мал для хранения входных данных.
setSample
public void setSample(int x, int y, int b, int s)
- Parameters:
-
x- Координата X пикселя. -
y- Координата Y пикселя. -
b- Номер полосы. -
s- Входной образец. - Throws:
-
ArrayIndexOutOfBoundsException- если координаты или индекс полосы не находятся в пределах границ.
setSample
public void setSample(int x, int y, int b, float s)
- Parameters:
-
x- Координата X пикселя. -
y- Координата Y пикселя. -
b- Номер полосы. -
s- Входной образец как float. - Throws:
-
ArrayIndexOutOfBoundsException- если координаты или индекс полосы не находятся в пределах границ.
setSample
public void setSample(int x, int y, int b, double s)
- Parameters:
-
x- Координата X местоположения пикселя. -
y- Координата Y местоположения пикселя. -
b- Полоса для установки. -
s- Образец ввода как double. - Throws:
-
ArrayIndexOutOfBoundsException- если координаты или индекс полосы не находятся в пределах границ.
setSamples
public void setSamples(int x, int y, int w, int h, int b, int[] iArray)
- Parameters:
-
x- Координата X местоположения верхнего левого пикселя. -
y- Координата Y местоположения верхнего левого пикселя. -
w- Ширина прямоугольника пикселей. -
h- Высота прямоугольника пикселей. -
b- Полоса для установки. -
iArray- Входной массив образцов int. - Throws:
-
NullPointerException- если iArray равно null. -
ArrayIndexOutOfBoundsException- если координаты или индекс полосы не находятся в пределах границ, или если iArray слишком мал для хранения ввода.
setSamples
public void setSamples(int x, int y, int w, int h, int b, float[] fArray)
- Parameters:
-
x- Координата X местоположения верхнего левого пикселя. -
y- Координата Y местоположения верхнего левого пикселя. -
w- Ширина прямоугольника пикселей. -
h- Высота прямоугольника пикселей. -
b- Полоса для установки. -
fArray- Входной массив образцов float. - Throws:
-
NullPointerException- если fArray равно null. -
ArrayIndexOutOfBoundsException- если координаты или индекс полосы не находятся в пределах границ, или если fArray слишком мал для хранения ввода.
setSamples
public void setSamples(int x, int y, int w, int h, int b, double[] dArray)
- Parameters:
-
x- Координата X местоположения верхнего левого пикселя. -
y- Координата Y местоположения верхнего левого пикселя. -
w- Ширина прямоугольника пикселей. -
h- Высота прямоугольника пикселей. -
b- Полоса для установки. -
dArray- Входной массив образцов double. - Throws:
-
NullPointerException- если dArray равно null. -
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/WritableRaster.html