Spec-Zone.ru › OpenJDK 25

Interface ContextualRenderedImageFactory

Все суперинтерфейсы:
RenderedImageFactory
public interface ContextualRenderedImageFactory extends RenderedImageFactory
ContextualRenderedImageFactory предоставляет интерфейс для функциональности, которая может различаться между экземплярами RenderableImageOp. Таким образом, разные операции над RenderableImage могут выполняться одним классом, например RenderedImageOp, с помощью нескольких экземпляров 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

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

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, 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/renderable/ContextualRenderedImageFactory.html

Spec-Zone.ru

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