Spec-Zone.ru › OpenJDK 25

Интерфейс 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)
Задаёт прямоугольную область изображения, содержащую данные растра r, который, как предполагается, находится в той же системе координат, что и WritableRenderedImage.

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

copyData, getColorModel, getData, getData, getHeight, getMinTileX, getMinTileY, getMinX, getMinY, getNumXTiles, getNumYTiles, getProperty, getPropertyNames, getSampleModel, getSources, getTile, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getWidth

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

addTileObserver

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

removeTileObserver

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

getWritableTile

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

releaseWritableTile

void releaseWritableTile(int tileX, int tileY)
Освобождает право записи в плитку. Если вызывающий код продолжит записывать данные в плитку, результат не определён. Вызовы этого метода должны выполняться только в паре с вызовами getWritableTile; любое другое использование приведёт к неопределённым результатам. WritableRenderedImage отвечает за уведомление всех своих TileObserver, когда плитка переходит из состояния, в котором есть один записывающий объект, в состояние, в котором нет записывающих объектов.
Параметры:
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)
Задаёт прямоугольную область изображения, содержащую данные растра r, который, как предполагается, находится в той же системе координат, что и WritableRenderedImage. Операция ограничивается границами WritableRenderedImage.
Параметры:
r — указанный Raster

Сообщить об ошибке или предложить улучшение
Дополнительную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/image/WritableRenderedImage.html

Spec-Zone.ru

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