Spec-Zone.ru › OpenJDK 27

Интерфейс ContextualRenderedImageFactory

Все суперинтерфейсы:
RenderedImageFactory
public interface ContextualRenderedImageFactory extends RenderedImageFactory
ContextualRenderedImageFactory предоставляет интерфейс для функциональности, которая может различаться у экземпляров RenderableImageOp. Таким образом, один класс, например RenderableImageOp, может выполнять различные операции над RenderableImage с помощью нескольких экземпляров ContextualRenderedImageFactory. Название ContextualRenderedImageFactory часто сокращают до «CRIF».

Все операции, используемые в независимой от визуализации цепочке, должны реализовывать ContextualRenderedImageFactory.

Классы, реализующие этот интерфейс, должны предоставлять конструктор без аргументов.

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

Модификатор и тип Метод Описание
RenderedImage create(RenderContext renderContext, ParameterBlock paramBlock)
Создает визуализацию, используя RenderContext и ParameterBlock, содержащий источники и параметры операции.
Rectangle2D getBounds2D(ParameterBlock paramBlock)
Возвращает ограничивающий прямоугольник выходных данных операции, выполненной над заданным набором источников, в пространстве, независимом от визуализации.
Object getProperty(ParameterBlock paramBlock, String name)
Получает соответствующий экземпляр свойства, заданного параметром name.
String[] getPropertyNames()
Возвращает список имен, распознаваемых методом getProperty.
boolean isDynamic()
Возвращает true, если последовательные визуализации (то есть вызовы create(RenderContext, ParameterBlock)) с одинаковыми аргументами могут давать разные результаты.
RenderContext mapRenderContext(int i, RenderContext renderContext, ParameterBlock paramBlock, RenderableImage image)
Преобразует выходной RenderContext операции в RenderContext для каждого источника операции.

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

create
Модификатор и тип Метод Описание
RenderedImage create(ParameterBlock paramBlock, RenderingHints hints)
Создает RenderedImage, представляющий результаты операции обработки изображений (или цепочки операций) для заданных ParameterBlock и RenderingHints.

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

mapRenderContext

RenderContext mapRenderContext(int i, RenderContext renderContext, ParameterBlock paramBlock, RenderableImage image)
Преобразует выходной RenderContext операции в RenderContext для каждого источника операции. Это полезно для операций, которые можно выразить полностью или частично просто как изменения RenderContext, например аффинное преобразование, а также для операций, которым нужны визуализации источников более низкого качества, чтобы сократить затраты на обработку или пропускную способность передачи данных. Некоторые операции, например размытие, также могут использовать этот механизм, чтобы не получать источники более высокого качества, чем необходимо.
Параметры:
i — индекс исходного изображения.
renderContext — RenderContext, применяемый к операции.
paramBlock — ParameterBlock, содержащий источники и параметры операции.
image — визуализируемый RenderableImage.
Возвращает:
RenderContext для источника с указанным индексом в векторе параметров, содержащемся в заданном ParameterBlock.

create

RenderedImage create(RenderContext renderContext, ParameterBlock paramBlock)
Создает визуализацию, используя RenderContext и ParameterBlock, содержащий источники и параметры операции. Результатом является RenderedImage, который учитывает RenderContext при определении своих размеров и положения на плоскости изображения. В этом методе реализована «интеллектуальная» логика, позволяющая независимой от визуализации операции адаптироваться к конкретному RenderContext.
Параметры:
renderContext — RenderContext, задающий визуализацию
paramBlock — ParameterBlock, содержащий источники и параметры операции
Возвращает:
RenderedImage из источников и параметров, содержащихся в заданном ParameterBlock, в соответствии с инструкциями по визуализации из заданного RenderContext.

getBounds2D

Rectangle2D getBounds2D(ParameterBlock paramBlock)
Возвращает ограничивающий прямоугольник выходных данных операции, выполненной над заданным набором источников, в пространстве, независимом от визуализации. Границы возвращаются в виде Rectangle2D, то есть выровненного по осям прямоугольника с координатами углов с плавающей точкой.
Параметры:
paramBlock — ParameterBlock, содержащий источники и параметры операции.
Возвращает:
Rectangle2D, задающий ограничивающий прямоугольник выходных данных в пространстве, независимом от визуализации.

getProperty

Object getProperty(ParameterBlock paramBlock, String name)
Получает соответствующий экземпляр свойства, заданного параметром name. Этот метод должен определить, какой экземпляр свойства вернуть, если свойство задано несколькими источниками.
Параметры:
paramBlock — ParameterBlock, содержащий источники и параметры операции.
name — String, задающий имя требуемого свойства.
Возвращает:
ссылку на объект, содержащий значение запрошенного свойства.

getPropertyNames

String[] getPropertyNames()
Возвращает список имен, распознаваемых методом getProperty.
Возвращает:
список имен свойств.

isDynamic

boolean isDynamic()
Возвращает true, если последовательные визуализации (то есть вызовы create(RenderContext, ParameterBlock)) с одинаковыми аргументами могут давать разные результаты. Этот метод можно использовать, чтобы определить, можно ли кэшировать и повторно использовать существующую визуализацию. Возвращать true всегда безопасно.
Возвращает:
true, если последовательные визуализации с одинаковыми аргументами могут давать разные результаты; в противном случае — false.

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