Класс 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 верхнего левого угла новой растровой структуры. -
childMinY- Координата Y верхнего левого угла новой растровой структуры. - Возвращает:
- новый
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 образец как знаковое или беззнаковое целое число. При копировании образца с плавающей точкой или двойной точностью в целочисленный тип назначения каждый образец источника приводится к типу назначения. При копировании целочисленного типа источника в тип назначения с плавающей точкой или двойной точностью, источник сначала преобразуется в 32-битное целое число (если необходимо), используя вышеприведенные правила для целочисленных типов, а затем целое число приводится к типу с плавающей точкой или двойной точности.
- 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- Входные образцы в массиве целых чисел. - Throws:
-
NullPointerException- если iArray равно null. -
ArrayIndexOutOfBoundsException- если координаты находятся вне границ или iArray слишком мал для хранения ввода.
setPixel
public void setPixel(int x, int y, float[] fArray)
- Parameters:
-
x- Координата X местоположения пикселя. -
y- Координата Y местоположения пикселя. -
fArray- Входные образцы в массиве чисел с плавающей точкой. - Throws:
-
NullPointerException- если fArray равно null. -
ArrayIndexOutOfBoundsException- если координаты находятся вне границ или fArray слишком мал для хранения ввода.
setPixel
public void setPixel(int x, int y, double[] dArray)
- Parameters:
-
x- Координата X местоположения пикселя. -
y- Координата Y местоположения пикселя. -
dArray- Входные образцы в массиве чисел с двойной точностью. - 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)
- Параметры:
-
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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/image/WritableRaster.html