Spec-Zone.ru › OpenJDK 27

Класс WritableRaster

java.lang.Object
java.awt.image.Raster
java.awt.image.WritableRaster
public class WritableRaster extends Raster
Этот класс расширяет Raster, добавляя возможности записи пикселей. Описание того, как Raster хранит пиксели, см. в комментарии к классу Raster.

Конструкторы этого класса защищены. Для создания экземпляра WritableRaster используйте один из фабричных методов createWritableRaster класса Raster.

Краткое описание полей

Поля, объявленные в классе Raster

dataBuffer, height, minX, minY, numBands, numDataElements, parent, sampleModel, sampleModelTranslateX, sampleModelTranslateY, width
Модификатор и тип Поле Описание
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.

Краткое описание конструкторов

WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion, Point sampleModelTranslate, WritableRaster parent)
WritableRaster(SampleModel sampleModel, Point origin)
Модификатор Конструктор Описание
protected
Создает WritableRaster с указанными SampleModel и DataBuffer.
protected
Создает WritableRaster с указанными SampleModel, DataBuffer и родительским объектом.
protected
Создает WritableRaster с указанным SampleModel.

Краткое описание методов

Модификатор и тип Метод Описание
WritableRaster createWritableChild(int parentX, int parentY, int w, int h, int childMinX, int childMinY, int[] bandList)
Возвращает новый WritableRaster, использующий весь буфер DataBuffer этого WritableRaster или его часть.
WritableRaster createWritableTranslatedChild(int childMinX, int childMinY)
Создает WritableRaster того же размера, с теми же SampleModel и DataBuffer, что и этот объект, но с другим расположением.
WritableRaster getWritableParent()
Возвращает родительский WritableRaster этого WritableRaster, если он есть; в противном случае возвращает null.
void setDataElements(int x, int y, int w, int h, Object inData)
Задает данные прямоугольной области пикселей из примитивного массива типа TransferType.
void setDataElements(int x, int y, Raster inRaster)
Задает данные прямоугольной области пикселей из входного Raster.
void setDataElements(int x, int y, Object inData)
Задает данные одного пикселя из примитивного массива типа TransferType.
void setPixel(int x, int y, double[] dArray)
Задает пиксель в DataBuffer, используя входной массив значений типа double.
void setPixel(int x, int y, float[] fArray)
Задает пиксель в DataBuffer, используя входной массив значений типа float.
void setPixel(int x, int y, int[] iArray)
Задает пиксель в DataBuffer, используя входной массив значений типа int.
void setPixels(int x, int y, int w, int h, double[] dArray)
Задает все значения прямоугольной области пикселей из массива double, в котором на каждый элемент массива приходится одно значение.
void setPixels(int x, int y, int w, int h, float[] fArray)
Задает все значения прямоугольной области пикселей из массива float, в котором на каждый элемент массива приходится одно значение.
void setPixels(int x, int y, int w, int h, int[] iArray)
Задает все значения прямоугольной области пикселей из массива int, в котором на каждый элемент массива приходится одно значение.
void setRect(int dx, int dy, Raster srcRaster)
Копирует пиксели из Raster srcRaster в этот WritableRaster.
void setRect(Raster srcRaster)
Копирует пиксели из Raster srcRaster в этот WritableRaster.
void setSample(int x, int y, int b, double s)
Задает значение в указанном канале пикселя с координатами (x,y) в DataBuffer, используя входное значение типа double.
void setSample(int x, int y, int b, float s)
Задает значение в указанном канале пикселя с координатами (x,y) в DataBuffer, используя входное значение типа float.
void setSample(int x, int y, int b, int s)
Задает значение в указанном канале пикселя с координатами (x,y) в DataBuffer, используя входное значение типа int.
void setSamples(int x, int y, int w, int h, int b, double[] dArray)
Задает значения в указанном канале для заданной прямоугольной области пикселей из массива double, в котором на каждый элемент массива приходится одно значение.
void setSamples(int x, int y, int w, int h, int b, float[] fArray)
Задает значения в указанном канале для заданной прямоугольной области пикселей из массива float, в котором на каждый элемент массива приходится одно значение.
void setSamples(int x, int y, int w, int h, int b, int[] iArray)
Задает значения в указанном канале для заданной прямоугольной области пикселей из массива 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
Модификатор и тип Метод Описание
static WritableRaster createBandedRaster(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
Создает Raster на основе BandedSampleModel с указанными типом данных, шириной, высотой, шагом строки сканирования, индексами банков и смещениями каналов.
static WritableRaster createBandedRaster(int dataType, int w, int h, int bands, Point location)
Создает Raster на основе BandedSampleModel с указанными типом данных, шириной, высотой и количеством каналов.
static WritableRaster createBandedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
Создает Raster на основе BandedSampleModel с указанными DataBuffer, шириной, высотой, шагом строки сканирования, индексами банков и смещениями каналов.
Raster createChild(int parentX, int parentY, int width, int height, int childMinX, int childMinY, int[] bandList)
Возвращает новый Raster, использующий весь буфер DataBuffer этого Raster или его часть.
WritableRaster createCompatibleWritableRaster()
Создает совместимый WritableRaster того же размера, что и этот Raster, с тем же SampleModel и новым инициализированным DataBuffer.
WritableRaster createCompatibleWritableRaster(int w, int h)
Создает совместимый WritableRaster с указанным размером, новой моделью SampleModel и новым инициализированным DataBuffer.
WritableRaster createCompatibleWritableRaster(int x, int y, int w, int h)
Создает совместимый WritableRaster с указанным расположением (minX, minY) и размером (width, height), новой моделью SampleModel и новым инициализированным DataBuffer.
WritableRaster createCompatibleWritableRaster(Rectangle rect)
Создает совместимый WritableRaster с расположением (minX, minY) и размером (width, height), заданными параметром rect, новой моделью SampleModel и новым инициализированным DataBuffer.
static WritableRaster createInterleavedRaster(int dataType, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
Создает Raster на основе PixelInterleavedSampleModel с указанными типом данных, шириной, высотой, шагом строки сканирования, шагом пикселя и смещениями каналов.
static WritableRaster createInterleavedRaster(int dataType, int w, int h, int bands, Point location)
Создает Raster на основе PixelInterleavedSampleModel с указанными типом данных, шириной, высотой и количеством каналов.
static WritableRaster createInterleavedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
Создает Raster на основе PixelInterleavedSampleModel с указанными DataBuffer, шириной, высотой, шагом строки сканирования, шагом пикселя и смещениями каналов.
static WritableRaster createPackedRaster(int dataType, int w, int h, int[] bandMasks, Point location)
Создает Raster на основе SinglePixelPackedSampleModel с указанными типом данных, шириной, высотой и масками каналов.
static WritableRaster createPackedRaster(int dataType, int w, int h, int bands, int bitsPerBand, Point location)
Создает Raster на основе упакованной модели SampleModel с указанными типом данных, шириной, высотой, количеством каналов и количеством бит на канал.
static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bandMasks, Point location)
Создает Raster на основе SinglePixelPackedSampleModel с указанными DataBuffer, шириной, высотой, шагом строки сканирования и масками каналов.
static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int bitsPerPixel, Point location)
Создает Raster на основе MultiPixelPackedSampleModel с указанными DataBuffer, шириной, высотой и количеством бит на пиксель.
static Raster createRaster(SampleModel sm, DataBuffer db, Point location)
Создает Raster с указанными SampleModel и DataBuffer.
Raster createTranslatedChild(int childMinX, int childMinY)
Создает Raster того же размера, с теми же SampleModel и DataBuffer, что и этот объект, но с другим расположением.
static WritableRaster createWritableRaster(SampleModel sm, DataBuffer db, Point location)
Создает WritableRaster с указанными SampleModel и DataBuffer.
static WritableRaster createWritableRaster(SampleModel sm, Point location)
Создает WritableRaster с указанным SampleModel.
Rectangle getBounds()
Возвращает ограничивающий прямоугольник этого Raster.
DataBuffer getDataBuffer()
Возвращает DataBuffer, связанный с этим Raster.
Object getDataElements(int x, int y, int w, int h, Object outData)
Возвращает данные пикселей указанной прямоугольной области в примитивном массиве типа TransferType.
Object getDataElements(int x, int y, Object outData)
Возвращает данные одного пикселя в примитивном массиве типа 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(int x, int y, double[] dArray)
Возвращает значения указанного пикселя в массиве double.
float[] getPixel(int x, int y, float[] fArray)
Возвращает значения указанного пикселя в массиве float.
int[] getPixel(int x, int y, int[] iArray)
Возвращает значения указанного пикселя в массиве int.
double[] getPixels(int x, int y, int w, int h, double[] dArray)
Возвращает массив double со всеми значениями прямоугольной области пикселей; на каждый элемент массива приходится одно значение.
float[] getPixels(int x, int y, int w, int h, float[] fArray)
Возвращает массив float со всеми значениями прямоугольной области пикселей; на каждый элемент массива приходится одно значение.
int[] getPixels(int x, int y, int w, int h, int[] iArray)
Возвращает массив int со всеми значениями прямоугольной области пикселей; на каждый элемент массива приходится одно значение.
int getSample(int x, int y, int b)
Возвращает значение указанного канала пикселя с координатами (x,y) как int.
double getSampleDouble(int x, int y, int b)
Возвращает значение указанного канала пикселя с координатами (x,y) как double.
float getSampleFloat(int x, int y, int b)
Возвращает значение указанного канала пикселя с координатами (x,y) как float.
SampleModel getSampleModel()
Возвращает SampleModel, описывающую структуру данных изображения.
final int getSampleModelTranslateX()
Возвращает смещение X между системами координат SampleModel и Raster.
final int getSampleModelTranslateY()
Возвращает смещение Y между системами координат SampleModel и Raster.
double[] getSamples(int x, int y, int w, int h, int b, double[] dArray)
Возвращает значения указанного канала для заданной прямоугольной области пикселей в массиве double; на каждый элемент массива приходится одно значение.
float[] getSamples(int x, int y, int w, int h, int b, float[] fArray)
Возвращает значения указанного канала для заданной прямоугольной области пикселей в массиве float; на каждый элемент массива приходится одно значение.
int[] getSamples(int x, int y, int w, int h, int b, int[] iArray)
Возвращает значения указанного канала для заданной прямоугольной области пикселей в массиве int; на каждый элемент массива приходится одно значение.
final int getTransferType()
Возвращает TransferType, используемый для передачи пикселей с помощью методов getDataElements и setDataElements.
final int getWidth()
Возвращает ширину Raster в пикселях.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии.
Финализация признана устаревшей и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

WritableRaster

protected WritableRaster(SampleModel sampleModel, Point origin)
Создает WritableRaster с указанной моделью SampleModel. Верхний левый угол WritableRaster является началом координат, а его размер совпадает с размером SampleModel. DataBuffer, достаточно большой для описания WritableRaster, создается автоматически.
Параметры:
sampleModel — SampleModel, задающая компоновку.
origin — Point, задающая начало координат.
Вызывает исключения:
RasterFormatException — если при вычислении origin.x + sampleModel.getWidth() или origin.y + sampleModel.getHeight() происходит переполнение целого числа

WritableRaster

protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
Создает WritableRaster с указанными моделью SampleModel и буфером DataBuffer. Верхний левый угол WritableRaster является началом координат, а его размер совпадает с размером SampleModel. DataBuffer не инициализируется и должен быть совместим с SampleModel.
Параметры:
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)
Создает WritableRaster с указанными моделью SampleModel, буфером DataBuffer и родительским растром. aRegion задает ограничивающий прямоугольник нового Raster. После преобразования в систему координат базового Raster aRegion должен находиться внутри базового Raster. (Базовый Raster — это предок Raster, у которого нет родителя.) sampleModelTranslate задает значения sampleModelTranslateX и sampleModelTranslateY нового Raster. Обратите внимание, что этот конструктор обычно следует вызывать из других конструкторов или методов create; его не следует вызывать напрямую.
Параметры:
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 (если он есть) этого WritableRaster; в противном случае возвращает null.
Возвращает:
родительский объект этого WritableRaster или null.

createWritableTranslatedChild

public WritableRaster createWritableTranslatedChild(int childMinX, int childMinY)
Создает WritableRaster того же размера, с той же моделью SampleModel и буфером DataBuffer, что и этот растр, но с другим расположением. Новый WritableRaster будет содержать ссылку на текущий WritableRaster, доступную через методы getParent() и getWritableParent().
Параметры:
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)
Возвращает новый WritableRaster, совместно использующий весь буфер DataBuffer этого WritableRaster или его часть. Новый WritableRaster будет содержать ссылку на текущий WritableRaster, доступную через методы getParent() и getWritableParent().

Параметры parentX, parentY, width и height задают прямоугольник в системе координат этого WritableRaster, указывающий область совместно используемых пикселей. Если этот прямоугольник не находится в границах текущего WritableRaster, будет выброшено исключение.

Новый WritableRaster также можно преобразовать в другую систему координат плоскости относительно текущего WritableRaster. Параметры childMinX и childMinY задают новые координаты (x, y) верхнего левого пикселя возвращаемого WritableRaster; координата (childMinX, childMinY) в новом WritableRaster будет соответствовать тому же пикселю, что и координата (parentX, parentY) в текущем WritableRaster.

С помощью параметра bandList можно задать новый WritableRaster, содержащий только подмножество полос текущего WritableRaster, возможно, в другом порядке. Если 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)
Задает данные для одного пикселя из примитивного массива типа TransferType. Для данных изображения, поддерживаемых API Java 2D(tm), это будет один из типов DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT или DataBuffer.TYPE_DOUBLE. Данные в массиве могут иметь упакованный формат, что повышает эффективность передачи данных. Если координаты находятся за пределами допустимых границ или inData недостаточно велик для хранения данных пикселя, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется. Если входной объект не равен null и ссылается не на массив типа TransferType, будет выброшено исключение ClassCastException.
Параметры:
x — координата X пикселя.
y — координата Y пикселя.
inData — ссылка на объект — массив типа, определяемого методом getTransferType(), и длиной getNumDataElements(), содержащий данные пикселя для размещения в точке x,y.
Вызывает исключения:
ArrayIndexOutOfBoundsException — если координаты находятся за пределами допустимых границ или inData слишком мал для хранения входных данных.
См. также:
  • SampleModel.setDataElements(int, int, Object, DataBuffer)

setDataElements

public void setDataElements(int x, int y, Raster inRaster)
Задает данные для прямоугольника пикселей из входного Raster. Входной Raster должен быть совместим с этим WritableRaster: они должны иметь одинаковое количество полос, соответствующие полосы должны иметь одинаковое количество битов на отсчет, значения TransferType и NumDataElements должны совпадать, а упаковка, используемая методами getDataElements/setDataElements, должна быть идентичной. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
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)
Задает данные для прямоугольника пикселей из примитивного массива типа TransferType. Для данных изображения, поддерживаемых API Java 2D, это будет один из типов DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT или DataBuffer.TYPE_DOUBLE. Данные в массиве могут иметь упакованный формат, что повышает эффективность передачи данных. Если координаты находятся за пределами допустимых границ или inData недостаточно велик для хранения данных пикселей, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется. Если входной объект не равен null и ссылается не на массив типа TransferType, будет выброшено исключение ClassCastException.
Параметры:
x — координата X верхнего левого пикселя.
y — координата Y верхнего левого пикселя.
w — ширина прямоугольника пикселей.
h — высота прямоугольника пикселей.
inData — ссылка на объект — массив типа, определяемого методом getTransferType(), и длиной w*h*getNumDataElements(), содержащий данные пикселей для размещения в диапазоне от x,y до x+w-1, y+h-1.
Вызывает исключения:
NullPointerException — если inData равен null.
ArrayIndexOutOfBoundsException — если координаты находятся за пределами допустимых границ или inData слишком мал для хранения входных данных.
См. также:
  • SampleModel.setDataElements(int, int, int, int, Object, DataBuffer)

setRect

public void setRect(Raster srcRaster)
Копирует пиксели из Raster srcRaster в этот WritableRaster. Каждый пиксель в srcRaster копируется по тому же адресу x,y в этом растре, если только адрес не находится за его пределами. srcRaster должен иметь такое же количество полос, что и этот WritableRaster. Копирование просто переносит отсчеты источника в соответствующие отсчеты назначения.

Если все отсчеты исходного и целевого растров имеют целочисленный тип и размер не более 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 в целочисленный тип назначения каждый отсчет источника преобразуется к типу назначения. При копировании источника целочисленного типа в назначение типа float или double источник сначала преобразуется в 32-битное значение int (если необходимо) согласно приведенным выше правилам для целочисленных типов, а затем значение int преобразуется к типу float или double.

Параметры:
srcRaster — Raster, из которого копируются пиксели.
Вызывает исключения:
NullPointerException — если srcRaster равен null.

setRect

public void setRect(int dx, int dy, Raster srcRaster)
Копирует пиксели из Raster srcRaster в этот WritableRaster. Для каждого адреса (x, y) в srcRaster соответствующий пиксель копируется по адресу (x+dx, y+dy) в этом WritableRaster, если только (x+dx, y+dy) не находится за пределами растра. srcRaster должен иметь такое же количество полос, что и этот WritableRaster. Копирование просто переносит отсчеты источника в соответствующие отсчеты назначения. Подробности см. в описании setRect(Raster).
Параметры:
dx — коэффициент смещения по X из системы координат источника в систему координат назначения.
dy — коэффициент смещения по Y из системы координат источника в систему координат назначения.
srcRaster — Raster, из которого копируются пиксели.
Вызывает исключения:
NullPointerException — если srcRaster равен null.

setPixel

public void setPixel(int x, int y, int[] iArray)
Задает пиксель в DataBuffer, используя для ввода массив отсчетов типа int. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
x — координата X пикселя.
y — координата Y пикселя.
iArray — входные отсчеты в массиве int.
Вызывает исключения:
NullPointerException — если iArray равен null.
ArrayIndexOutOfBoundsException — если координаты находятся за пределами допустимых границ или iArray слишком мал для хранения входных данных.

setPixel

public void setPixel(int x, int y, float[] fArray)
Задает пиксель в DataBuffer, используя для ввода массив отсчетов типа float. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
x — координата X пикселя.
y — координата Y пикселя.
fArray — входные отсчеты в массиве float.
Вызывает исключения:
NullPointerException — если fArray равен null.
ArrayIndexOutOfBoundsException — если координаты находятся за пределами допустимых границ или fArray слишком мал для хранения входных данных.

setPixel

public void setPixel(int x, int y, double[] dArray)
Задает пиксель в DataBuffer, используя для ввода массив отсчетов типа double. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
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)
Задает все отсчеты прямоугольника пикселей из массива int, содержащего по одному отсчету в каждом элементе массива. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
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)
Задает все отсчеты прямоугольника пикселей из массива float, содержащего по одному отсчету в каждом элементе массива. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
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)
Задает все отсчеты прямоугольника пикселей из массива double, содержащего по одному отсчету в каждом элементе массива. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
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,y) в DataBuffer, используя для ввода значение типа int. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
x — координата X пикселя.
y — координата Y пикселя.
b — полоса, для которой задается значение.
s — входной отсчет.
Вызывает исключения:
ArrayIndexOutOfBoundsException — если координаты или индекс полосы находятся за пределами допустимых границ.

setSample

public void setSample(int x, int y, int b, float s)
Задает отсчет в указанной полосе для пикселя с координатами (x,y) в DataBuffer, используя для ввода значение типа float. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
x — координата X пикселя.
y — координата Y пикселя.
b — полоса, для которой задается значение.
s — входной отсчет типа float.
Вызывает исключения:
ArrayIndexOutOfBoundsException — если координаты или индекс полосы находятся за пределами допустимых границ.

setSample

public void setSample(int x, int y, int b, double s)
Задает отсчет в указанной полосе для пикселя с координатами (x,y) в DataBuffer, используя для ввода значение типа double. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
x — координата X пикселя.
y — координата Y пикселя.
b — полоса, для которой задается значение.
s — входной отсчет типа double.
Вызывает исключения:
ArrayIndexOutOfBoundsException — если координаты или индекс полосы находятся за пределами допустимых границ.

setSamples

public void setSamples(int x, int y, int w, int h, int b, int[] iArray)
Задает отсчеты в указанной полосе для указанного прямоугольника пикселей из массива int, содержащего по одному отсчету в каждом элементе массива. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
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)
Задает отсчеты в указанной полосе для указанного прямоугольника пикселей из массива float, содержащего по одному отсчету в каждом элементе массива. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
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)
Задает отсчеты в указанной полосе для указанного прямоугольника пикселей из массива double, содержащего по одному отсчету в каждом элементе массива. Если координаты находятся за пределами допустимых границ, может быть выброшено исключение ArrayIndexOutOfBoundsException. Однако явная проверка границ не гарантируется.
Параметры:
x — координата X верхнего левого пикселя.
y — координата Y верхнего левого пикселя.
w — ширина прямоугольника пикселей.
h — высота прямоугольника пикселей.
b — полоса, для которой задаются значения.
dArray — входной массив отсчетов double.
Вызывает исключения:
NullPointerException — если dArray равен null.
ArrayIndexOutOfBoundsException — если координаты или индекс полосы находятся за пределами допустимых границ либо dArray слишком мал для хранения входных данных.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, общие обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API