Интерфейс ContextualRenderedImageFactory
- Все суперинтерфейсы:
- RenderedImageFactory
public interface ContextualRenderedImageFactory extends RenderedImageFactory
ContextualRenderedImageFactory предоставляет интерфейс для функциональности, которая может отличаться между экземплярами RenderableImageOp. Таким образом, различные операции над RenderableImages могут выполняться одним классом, например, RenderedImageOp, с использованием нескольких экземпляров ContextualRenderedImageFactory. Имя ContextualRenderedImageFactory часто сокращается до «CRIF».
Все операции, которые должны использоваться в цепочке, независимой от рендеринга, должны реализовывать ContextualRenderedImageFactory.
Классы, реализующие этот интерфейс, должны предоставлять конструктор без аргументов.
Методы
| Модификатор и тип | Метод и описание |
|---|---|
RenderedImage |
create(RenderContext renderContext,
ParameterBlock paramBlock) Создаёт рендеринг, используя RenderContext и ParameterBlock, содержащий источники и параметры операции. |
Rectangle2D |
getBounds2D(ParameterBlock paramBlock) Возвращает область ограничивающей рамки для вывода операции, выполненной над заданным набором источников, в пространстве, независимом от рендеринга. |
Object |
getProperty(ParameterBlock paramBlock,
String name) Получает соответствующий экземпляр свойства, указанного именем параметра. |
String[] |
getPropertyNames() Возвращает список имён, распознаваемых методом getProperty. |
boolean |
isDynamic() Возвращает true, если последовательные рендеринги (то есть вызовы create(RenderContext, ParameterBlock)) с одинаковыми аргументами могут давать разные результаты. |
RenderContext |
mapRenderContext(int i,
RenderContext renderContext,
ParameterBlock paramBlock,
RenderableImage image) Преобразует выходной RenderContext операции в RenderContext для каждого из источников операции. |
Методы, унаследованные от интерфейса java.awt.image.renderable.RenderedImageFactory
create Методы
mapRenderContext
RenderContext mapRenderContext(int i,
RenderContext renderContext,
ParameterBlock paramBlock,
RenderableImage image) Преобразует выходной RenderContext операции в RenderContext для каждого из источников операции. Это полезно для операций, которые могут быть выражены полностью или частично просто как изменения в RenderContext, такие как аффинное преобразование, или операции, которые хотят получить рендеринги более низкого качества своих источников для экономии ресурсов обработки или пропускной способности передачи. Некоторые операции, такие как размытие, также могут использовать этот механизм, чтобы избежать получения источников более высокого качества, чем необходимо.
- Параметры:
-
i- индекс изображения-источника. -
renderContext- RenderContext, применяемый к операции. -
paramBlock- ParameterBlock, содержащий источники и параметры операции. -
image- RenderableImage, подлежащий рендерингу. - Возвращает:
- a
RenderContextдля источника по указанному индексу вектора параметров, содержащегося в указанном ParameterBlock.
create
RenderedImage create(RenderContext renderContext,
ParameterBlock paramBlock) Создаёт рендеринг, используя RenderContext и ParameterBlock, содержащий источники и параметры операции. Результатом является RenderedImage, который учитывает RenderContext для определения своих размеров и расположения на плоскости изображения. Этот метод содержит «интеллект», который позволяет операции, независимой от рендеринга, адаптироваться к конкретному RenderContext.
- Параметры:
-
renderContext- RenderContext, определяющий рендеринг -
paramBlock- ParameterBlock, содержащий источники и параметры операции - Возвращает:
- a
RenderedImageиз источников и параметров в указанном ParameterBlock и в соответствии с инструкциями рендеринга в указанном RenderContext.
getBounds2D
Rectangle2D getBounds2D(ParameterBlock paramBlock)
Возвращает область ограничивающей рамки для вывода операции, выполненной над заданным набором источников, в пространстве, независимом от рендеринга. Границы возвращаются как Rectangle2D, то есть прямоугольник с выровненными осями и координатами углов с плавающей точкой.
- Параметры:
-
paramBlock- ParameterBlock, содержащий источники и параметры операции. - Возвращает:
- Rectangle2D, определяющий область ограничивающей рамки вывода, независимую от рендеринга.
getProperty
Object getProperty(ParameterBlock paramBlock,
String name) Получает соответствующий экземпляр свойства, указанного именем параметра. Этот метод должен определить, какой экземпляр свойства возвращать, когда существует несколько источников, каждый из которых указывает это свойство.
- Параметры:
-
paramBlock- ParameterBlock, содержащий источники и параметры операции. -
name- строка, определяющая желаемое свойство. - Возвращает:
- ссылку на объект-значение запрошенного свойства.
getPropertyNames
String[] getPropertyNames()
Возвращает список имён, распознаваемых методом getProperty.
- Возвращает:
- список имён свойств.
isDynamic
boolean isDynamic()
Возвращает true, если последовательные рендеринги (то есть вызовы create(RenderContext, ParameterBlock)) с одинаковыми аргументами могут давать разные результаты. Этот метод может использоваться для определения того, может ли существующий рендеринг кэшироваться и повторно использоваться. Всегда безопасно возвращать true.
- Возвращает:
-
true, если последовательные рендеринги с одинаковыми аргументами могут давать разные результаты;falseв противном случае.
© 1993, 2020, 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.