JavaTM 2 Platform
Standard Ed. 6

java.awt.image.renderable
介面 ContextualRenderedImageFactory

所有父級介面:
RenderedImageFactory

public interface ContextualRenderedImageFactory
extends RenderedImageFactory

ContextualRenderedImageFactory 為在 RenderableImageOp 實例之間可能不同的功能提供介面。因此,單個類別(如 RenderedImageOp)可以通過使用 ContextualRenderedImageFactory 的多個實例對 RenderableImage 執行不同的操作。名稱 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()
          如果使用相同參數的後續呈現(即調用 create(RenderContext, ParameterBlock))可以產生不同的結果,則返回 true。
 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。
返回:
源的 RenderContext,該源位於指定 ParameterBlock 套件含的參數 Vector 的指定索引處。

create

RenderedImage create(RenderContext renderContext,
                     ParameterBlock paramBlock)
根據給定包含操作的源和參數的 RenderContext 和 ParameterBlock 創建一個呈現。輸出一個用 RenderContext 確定其在圖像平面上的尺寸和位置的 RenderedImage。此方法內含「智能」,允許與呈現無關的操作,以適合特定的 RenderContext。

參數:
renderContext - 指定呈現的 RenderContext
paramBlock - 套件含操作的源和參數的 ParameterBlock
返回:
根據指定 ParameterBlock 中的源和參數並按照指定 RenderContext 的呈現指令確定的 RenderedImage

getBounds2D

Rectangle2D getBounds2D(ParameterBlock paramBlock)
返回操作的輸出的邊界框,該操作在與呈現無關的空間中給定的一組源上執行。該邊界作為一個 Rectangle2D 返回,即一個帶浮點值角坐標的沿軸對齊的(axis-aligned)矩形。

參數:
paramBlock - 套件含操作的源和參數的 ParameterBlock。
返回:
指定輸出的與呈現無關的邊界框的 Rectangle2D。

getProperty

Object getProperty(ParameterBlock paramBlock,
                   String name)
獲取由 name 參數指定的屬性的適當實例。如果存在多個源,並且每個源都指定某個屬性,此方法必須確定返回該屬性的哪個實例。

參數:
paramBlock - 套件含操作的源和參數的 ParameterBlock。
name - 命名所需屬性的字元串。
返回:
參考所請求屬性的值的物件。

getPropertyNames

String[] getPropertyNames()
返回由 getProperty 識別的名稱列表。

返回:
屬性名稱的列表。

isDynamic

boolean isDynamic()
如果使用相同參數的後續呈現(即調用 create(RenderContext, ParameterBlock))可以產生不同的結果,則返回 true。可以使用此方法來確定某個現有呈現是否可以被快取記憶體或重用。返回 true 表示始終安全。

返回:
如果使用相同參數的後續呈現可以產生不同結果,則返回 true;否則返回 false

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only