Интерфейс ContextualRenderedImageFactory
- Все суперинтерфейсы:
RenderedImageFactory
public interface ContextualRenderedImageFactory extends RenderedImageFactory
ContextualRenderedImageFactory предоставляет интерфейс для функциональности, которая может различаться у экземпляров RenderableImageOp. Таким образом, один класс, например RenderableImageOp, может выполнять различные операции над RenderableImage с помощью нескольких экземпляров ContextualRenderedImageFactory. Название ContextualRenderedImageFactory часто сокращают до «CRIF».
Все операции, используемые в независимой от визуализации цепочке, должны реализовывать ContextualRenderedImageFactory.
Классы, реализующие этот интерфейс, должны предоставлять конструктор без аргументов.
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
RenderedImage |
create |
Создает визуализацию, используя RenderContext и ParameterBlock, содержащий источники и параметры операции. |
Rectangle2D |
getBounds2D |
Возвращает ограничивающий прямоугольник выходных данных операции, выполненной над заданным набором источников, в пространстве, независимом от визуализации. |
Object |
getProperty |
Получает соответствующий экземпляр свойства, заданного параметром name. |
String[] |
getPropertyNames() |
Возвращает список имен, распознаваемых методом getProperty. |
boolean |
isDynamic() |
Возвращает true, если последовательные визуализации (то есть вызовы create(RenderContext, ParameterBlock)) с одинаковыми аргументами могут давать разные результаты. |
RenderContext |
mapRenderContext |
Преобразует выходной RenderContext операции в RenderContext для каждого источника операции. |
Методы, объявленные в интерфейсе RenderedImageFactory
create | Модификатор и тип | Метод | Описание |
|---|---|---|
RenderedImage |
create |
Создает 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.
© 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.