Класс WritableRaster
public class WritableRaster extends Raster
Конструкторы этого класса защищённые. Чтобы создать экземпляр WritableRaster, используйте один из фабричных методов createWritableRaster класса Raster.
Краткое описание полей
Поля, объявленные в классе 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, содержащего по одному отсчёту в каждом элементе массива. |
Методы, объявленные в классе 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— Point, задающая начало координат. - Исключения:
-
RasterFormatException— если вычислениеorigin.x + sampleModel.getWidth()илиorigin.y + sampleModel.getHeight()приводит к переполнению целого числа
WritableRaster
protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
- Параметры:
-
sampleModel— SampleModel, задающая структуру. -
dataBuffer— DataBuffer, содержащий данные изображения. -
origin— Point, задающая начало координат. - Исключения:
-
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— Rectangle, задающий область изображения. -
sampleModelTranslate— Point, задающая смещение между координатами 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 задают Rectangle в системе координат этого WritableRaster, указывающий область совместно используемых пикселей. Если этот Rectangle не входит в границы текущего 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)
- Параметры:
-
x— координата X положения верхнего левого пикселя. -
y— координата Y положения верхнего левого пикселя. -
w— ширина прямоугольника пикселей. -
h— высота прямоугольника пикселей. -
inData— ссылка на объект, содержащий массив типа, задаваемого getTransferType(), и длины w*h*getNumDataElements(), с данными пикселей для размещения между точками x,y и x+w-1, y+h-1. - Исключения:
-
NullPointerException— если inData равен null. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы или inData слишком мал для хранения входных данных. - См. также:
setRect
public void setRect(Raster srcRaster)
Если все отсчеты исходного и целевого Raster имеют целочисленный тип и размер не более 32 бит, вызов этого метода эквивалентен выполнению следующего кода для всех адресов x,y, допустимых в обоих Raster.
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 в целочисленное назначение каждый исходный отсчет преобразуется к целевому типу. При копировании источника целочисленного типа в назначение типа float или double источник сначала преобразуется в 32-битное значение int (при необходимости) по приведенным выше правилам для целочисленных типов, а затем значение int преобразуется в float или double.
- Параметры:
-
srcRaster— Raster, из которого копируются пиксели. - Исключения:
-
NullPointerException— если srcRaster равен null.
setRect
public void setRect(int dx, int dy, Raster srcRaster)
setRect(Raster).- Параметры:
-
dx— коэффициент смещения по X из пространства источника в пространство назначения при копировании. -
dy— коэффициент смещения по Y из пространства источника в пространство назначения при копировании. -
srcRaster— Raster, из которого копируются пиксели. - Исключения:
-
NullPointerException— если srcRaster равен null.
setPixel
public void setPixel(int x, int y, int[] iArray)
- Параметры:
-
x— координата X положения пикселя. -
y— координата Y положения пикселя. -
iArray— входные отсчеты в массиве типа int. - Исключения:
-
NullPointerException— если iArray равен null. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы или iArray слишком мал для хранения входных данных.
setPixel
public void setPixel(int x, int y, float[] fArray)
- Параметры:
-
x— координата X положения пикселя. -
y— координата Y положения пикселя. -
fArray— входные отсчеты в массиве типа float. - Исключения:
-
NullPointerException— если fArray равен null. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы или fArray слишком мал для хранения входных данных.
setPixel
public void setPixel(int x, int y, double[] dArray)
- Параметры:
-
x— координата X положения пикселя. -
y— координата Y положения пикселя. -
dArray— входные отсчеты в массиве типа double. - Исключения:
-
NullPointerException— если dArray равен null. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы или dArray слишком мал для хранения входных данных.
setPixels
public void setPixels(int x, int y, int w, int h, int[] iArray)
- Параметры:
-
x— координата X положения верхнего левого пикселя. -
y— координата Y положения верхнего левого пикселя. -
w— ширина прямоугольника пикселей. -
h— высота прямоугольника пикселей. -
iArray— входной массив пикселей типа int. - Исключения:
-
NullPointerException— если iArray равен null. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы или iArray слишком мал для хранения входных данных.
setPixels
public void setPixels(int x, int y, int w, int h, float[] fArray)
- Параметры:
-
x— координата X положения верхнего левого пикселя. -
y— координата Y положения верхнего левого пикселя. -
w— ширина прямоугольника пикселей. -
h— высота прямоугольника пикселей. -
fArray— входной массив пикселей типа float. - Исключения:
-
NullPointerException— если fArray равен null. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы или fArray слишком мал для хранения входных данных.
setPixels
public void setPixels(int x, int y, int w, int h, double[] dArray)
- Параметры:
-
x— координата X положения верхнего левого пикселя. -
y— координата Y положения верхнего левого пикселя. -
w— ширина прямоугольника пикселей. -
h— высота прямоугольника пикселей. -
dArray— входной массив пикселей типа double. - Исключения:
-
NullPointerException— если dArray равен null. -
ArrayIndexOutOfBoundsException— если координаты выходят за допустимые границы или dArray слишком мал для хранения входных данных.
setSample
public void setSample(int x, int y, int b, int s)
- Параметры:
-
x— координата X положения пикселя. -
y— координата Y положения пикселя. -
b— полоса, которую нужно задать. -
s— входной отсчет. - Исключения:
-
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы.
setSample
public void setSample(int x, int y, int b, float s)
- Параметры:
-
x— координата X положения пикселя. -
y— координата Y положения пикселя. -
b— полоса, которую нужно задать. -
s— входной отсчет типа float. - Исключения:
-
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы.
setSample
public void setSample(int x, int y, int b, double s)
- Параметры:
-
x— координата X положения пикселя. -
y— координата Y положения пикселя. -
b— полоса, которую нужно задать. -
s— входной отсчет типа double. - Исключения:
-
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы.
setSamples
public void setSamples(int x, int y, int w, int h, int b, int[] iArray)
- Параметры:
-
x— координата X положения верхнего левого пикселя. -
y— координата Y положения верхнего левого пикселя. -
w— ширина прямоугольника пикселей. -
h— высота прямоугольника пикселей. -
b— полоса, которую нужно задать. -
iArray— входной массив отсчетов типа int. - Исключения:
-
NullPointerException— если iArray равен null. -
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы либо iArray слишком мал для хранения входных данных.
setSamples
public void setSamples(int x, int y, int w, int h, int b, float[] fArray)
- Параметры:
-
x— координата X положения верхнего левого пикселя. -
y— координата Y положения верхнего левого пикселя. -
w— ширина прямоугольника пикселей. -
h— высота прямоугольника пикселей. -
b— полоса, которую нужно задать. -
fArray— входной массив отсчетов типа float. - Исключения:
-
NullPointerException— если fArray равен null. -
ArrayIndexOutOfBoundsException— если координаты или индекс полосы выходят за допустимые границы либо fArray слишком мал для хранения входных данных.
setSamples
public void setSamples(int x, int y, int w, int h, int b, double[] dArray)
- Параметры:
-
x— координата X положения верхнего левого пикселя. -
y— координата Y положения верхнего левого пикселя. -
w— ширина прямоугольника пикселей. -
h— высота прямоугольника пикселей. -
b— полоса, которую нужно задать. -
dArray— входной массив отсчетов типа double. - Исключения:
-
NullPointerException— если dArray равен null. -
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/WritableRaster.html