Spec-Zone.ru › OpenJDK 27

Интерфейс WritableRenderedImage

Все суперинтерфейсы:
RenderedImage
Все известные реализующие классы:
BufferedImage
public interface WritableRenderedImage extends RenderedImage
WritableRenderedImage — это общий интерфейс для объектов, которые содержат или могут создавать данные изображения в виде растров и которые можно изменять и/или перезаписывать. Данные изображения могут храниться или создаваться в виде одной плитки либо регулярного массива плиток.

WritableRenderedImage уведомляет другие заинтересованные объекты, когда плитка предоставляется для записи (с помощью метода getWritableTile) и когда последний записывающий объект освобождает доступ к определённой плитке (с помощью вызова releaseWritableTile). Кроме того, любой вызывающий объект может определить, предоставлены ли в данный момент какие-либо плитки для записи (с помощью hasTileWriters), а также получить список таких плиток (с помощью getWritableTileIndices в виде Vector объектов Point).

Объекты, которым необходимо получать уведомления об изменениях доступности плиток для записи, должны реализовать интерфейс TileObserver и добавляться с помощью вызова addTileObserver. Несколько вызовов addTileObserver для одного и того же объекта приведут к нескольким уведомлениям. Существующий наблюдатель может сократить количество получаемых уведомлений, вызвав removeTileObserver; если наблюдатель не получал уведомлений, операция ничего не делает.

WritableRenderedImage должен обеспечивать отправку уведомлений только при получении плитки первым записывающим объектом и её освобождении последним записывающим объектом.

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

Модификатор и тип Метод Описание
void addTileObserver(TileObserver to)
Добавляет наблюдателя.
WritableRaster getWritableTile(int tileX, int tileY)
Предоставляет плитку для записи.
Point[] getWritableTileIndices()
Возвращает массив объектов Point, указывающих, какие плитки предоставлены для записи.
boolean hasTileWriters()
Возвращает значение, указывающее, предоставлена ли какая-либо плитка для записи.
boolean isTileWritable(int tileX, int tileY)
Возвращает значение, указывающее, предоставлена ли плитка в данный момент для записи.
void releaseWritableTile(int tileX, int tileY)
Освобождает право записи в плитку.
void removeTileObserver(TileObserver to)
Удаляет наблюдателя.
void setData(Raster r)
Задаёт прямоугольную область изображения содержимым Raster r, который, как предполагается, находится в той же системе координат, что и WritableRenderedImage.

Методы, объявленные в интерфейсе RenderedImage

copyData, getColorModel, getData, getData, getHeight, getMinTileX, getMinTileY, getMinX, getMinY, getNumXTiles, getNumYTiles, getProperty, getPropertyNames, getSampleModel, getSources, getTile, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getWidth
Модификатор и тип Метод Описание
WritableRaster copyData(WritableRaster raster)
Вычисляет произвольную прямоугольную область RenderedImage и копирует её в предоставленный вызывающим объектом WritableRaster.
ColorModel getColorModel()
Возвращает ColorModel, связанный с этим изображением.
Raster getData()
Возвращает изображение в виде одной большой плитки (для изображений на основе плиток это потребует получения всего изображения и копирования данных изображения).
Raster getData(Rectangle rect)
Вычисляет и возвращает произвольную область RenderedImage.
int getHeight()
Возвращает высоту RenderedImage.
int getMinTileX()
Возвращает минимальный индекс плитки в направлении X.
int getMinTileY()
Возвращает минимальный индекс плитки в направлении Y.
int getMinX()
Возвращает минимальную координату X (включительно) RenderedImage.
int getMinY()
Возвращает минимальную координату Y (включительно) RenderedImage.
int getNumXTiles()
Возвращает количество плиток в направлении X.
int getNumYTiles()
Возвращает количество плиток в направлении Y.
Object getProperty(String name)
Получает свойство из набора свойств этого изображения.
String[] getPropertyNames()
Возвращает массив имён, распознаваемых методом getProperty(String), или null, если имена свойств не распознаются.
SampleModel getSampleModel()
Возвращает SampleModel, связанный с этим изображением.
Vector<RenderedImage> getSources()
Возвращает вектор RenderedImages, являющихся непосредственными источниками данных изображения для этого RenderedImage.
Raster getTile(int tileX, int tileY)
Возвращает плитку (tileX, tileY).
int getTileGridXOffset()
Возвращает смещение сетки плиток по X относительно начала координат, то есть координату X верхнего левого пикселя плитки (0, 0).
int getTileGridYOffset()
Возвращает смещение сетки плиток по Y относительно начала координат, то есть координату Y верхнего левого пикселя плитки (0, 0).
int getTileHeight()
Возвращает высоту плитки в пикселях.
int getTileWidth()
Возвращает ширину плитки в пикселях.
int getWidth()
Возвращает ширину RenderedImage.

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

addTileObserver

void addTileObserver(TileObserver to)
Добавляет наблюдателя. Если наблюдатель уже добавлен, он будет получать несколько уведомлений.
Параметры:
to — указанный TileObserver

removeTileObserver

void removeTileObserver(TileObserver to)
Удаляет наблюдателя. Если наблюдатель не был зарегистрирован, ничего не происходит. Если наблюдатель был зарегистрирован для получения нескольких уведомлений, теперь он будет зарегистрирован для получения на одно уведомление меньше.
Параметры:
to — указанный TileObserver

getWritableTile

WritableRaster getWritableTile(int tileX, int tileY)
Предоставляет плитку для записи. WritableRenderedImage отвечает за уведомление всех своих TileObservers о переходе плитки из состояния, когда у неё нет записывающих объектов, в состояние, когда у неё есть один записывающий объект.
Параметры:
tileX — индекс плитки по X.
tileY — индекс плитки по Y.
Возвращает:
плитку, доступную для записи.

releaseWritableTile

void releaseWritableTile(int tileX, int tileY)
Освобождает право записи в плитку. Если вызывающий объект продолжит записывать в плитку, результаты не определены. Этот метод следует вызывать только в паре с вызовом getWritableTile; любое другое использование приведёт к неопределённым результатам. WritableRenderedImage отвечает за уведомление всех своих TileObservers о переходе плитки из состояния, когда у неё есть один записывающий объект, в состояние, когда у неё нет записывающих объектов.
Параметры:
tileX — индекс плитки по X.
tileY — индекс плитки по Y.

isTileWritable

boolean isTileWritable(int tileX, int tileY)
Возвращает значение, указывающее, предоставлена ли плитка в данный момент для записи.
Параметры:
tileX — индекс плитки по X.
tileY — индекс плитки по Y.
Возвращает:
true, если указанная плитка предоставлена для записи; false в противном случае.

getWritableTileIndices

Point[] getWritableTileIndices()
Возвращает массив объектов Point, указывающих, какие плитки предоставлены для записи. Возвращает null, если таких плиток нет.
Возвращает:
массив, содержащий координаты плиток, предоставленных для записи.

hasTileWriters

boolean hasTileWriters()
Возвращает значение, указывающее, предоставлена ли какая-либо плитка для записи. Семантически эквивалентно выражению (getWritableTileIndices() != null).
Возвращает:
true, если какие-либо плитки предоставлены для записи; false в противном случае.

setData

void setData(Raster r)
Задаёт прямоугольную область изображения содержимым Raster r, который, как предполагается, находится в той же системе координат, что и WritableRenderedImage. Операция ограничивается границами WritableRenderedImage.
Параметры:
r — указанный Raster

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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