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