JavaTM 2 Platform
Standard Ed. 6

java.awt.image.renderable
類別 RenderableImageOp

java.lang.Object
  繼承者 java.awt.image.renderable.RenderableImageOp
所有已實作的介面:
RenderableImage

public class RenderableImageOp
extends Object
implements RenderableImage

此類別借助其相關的 ContextualRenderedImageFactory 實例處理某個操作的可呈現方面。


欄位摘要
 
從介面 java.awt.image.renderable.RenderableImage 繼承的欄位
HINTS_OBSERVED
 
建構子摘要
RenderableImageOp(ContextualRenderedImageFactory CRIF, ParameterBlock paramBlock)
          根據給定 ContextualRenderedImageFactory 物件以及一個套件含 RenderableImage 源和其他參數的 ParameterBlock 建構 RenderedImageOp。
 
方法摘要
 RenderedImage createDefaultRendering()
          獲取此圖像具有預設寬度和高度(以像素為單位)的一個 RenderedImage 實例。
 RenderedImage createRendering(RenderContext renderContext)
          創建一個表示根據給定 RenderContext 呈現的 RenderableImageOp(包括其 Renderable 源)的 RenderedImage。
 RenderedImage createScaledRendering(int w, int h, RenderingHints hints)
          創建此圖像具有寬度 w 和高度 h(以像素為單位)的一個 RenderedImage 實例。
 float getHeight()
          獲取使用者坐標空間中的高度。
 float getMinX()
          獲取與呈現無關的圖像資料的最小 X 坐標。
 float getMinY()
          獲取與呈現無關的圖像資料的最小 Y 坐標。
 ParameterBlock getParameterBlock()
          返回到對當前參數塊的一個參考。
 Object getProperty(String name)
          從此圖像的屬性集中獲取某個屬性。
 String[] getPropertyNames()
          返回由 getProperty 識別的名稱列表。
 Vector<RenderableImage> getSources()
          返回作為此 RenderableImage 圖像資料源的 RenderableImage 的向量。
 float getWidth()
          獲取使用者坐標空間中的寬度。
 boolean isDynamic()
          如果使用相同參數的後續呈現(即調用 createRendering() 或 createScaledRendering())可以產生不同結果,則返回 true。
 ParameterBlock setParameterBlock(ParameterBlock paramBlock)
          更改操作的當前 ParameterBlock,允許編輯圖像呈現鏈。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

RenderableImageOp

public RenderableImageOp(ContextualRenderedImageFactory CRIF,
                         ParameterBlock paramBlock)
根據給定 ContextualRenderedImageFactory 物件以及一個套件含 RenderableImage 源和其他參數的 ParameterBlock 建構 RenderedImageOp。由 ParameterBlock 參考的任何 RenderedImage 源都將被忽略。

參數:
CRIF - 一個 ContextualRenderedImageFactory 物件
paramBlock - 一個套件含此操作的源圖像和該操作運行所必須的其他參數的 ParameterBlock。
方法詳細資訊

getSources

public Vector<RenderableImage> getSources()
返回作為此 RenderableImage 圖像資料源的 RenderableImage 的向量。注意,此方法可能返回空向量,指示該圖像沒有源,或者返回 null,指示沒有可用資訊。

指定者:
介面 RenderableImage 中的 getSources
返回:
RenderableImage 的 Vector(可能為空),或者 null。

getProperty

public Object getProperty(String name)
從此圖像的屬性集中獲取某個屬性。如果該屬性名無法識別,將返回 java.awt.Image.UndefinedProperty。

指定者:
介面 RenderableImage 中的 getProperty
參數:
name - 要獲取的屬性的名稱(以 String 形式)。
返回:
對屬性 Object 的參考,或者值 java.awt.Image.UndefinedProperty。

getPropertyNames

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

指定者:
介面 RenderableImage 中的 getPropertyNames
返回:
屬性名稱列表。

isDynamic

public boolean isDynamic()
如果使用相同參數的後續呈現(即調用 createRendering() 或 createScaledRendering())可以產生不同結果,則返回 true。此方法可用於確定是否可以快取記憶體和重用現有呈現。將調用 CRIF 的 isDynamic 方法。

指定者:
介面 RenderableImage 中的 isDynamic
返回:
如果使用相同參數的後續呈現可以產生不同結果,則返回 true;否則返回 false

getWidth

public float getWidth()
獲取使用者坐標空間中的寬度。按照慣例,RenderableImage 的常規寬度等於該圖像的高寬比(寬度除以高度)。

指定者:
介面 RenderableImage 中的 getWidth
返回:
使用者坐標中圖像的寬度。

getHeight

public float getHeight()
獲取使用者坐標空間中的高度。按照慣例,RenderedImage 的常規高度等於 1.0F。

指定者:
介面 RenderableImage 中的 getHeight
返回:
使用者坐標中圖像的高度。

getMinX

public float getMinX()
獲取與呈現無關的圖像資料的最小 X 坐標。

指定者:
介面 RenderableImage 中的 getMinX
返回:
與呈現無關的圖像資料的最小 X 坐標。

getMinY

public float getMinY()
獲取與呈現無關的圖像資料的最小 Y 坐標。

指定者:
介面 RenderableImage 中的 getMinY
返回:
與呈現無關的圖像資料的最小 Y 坐標。

setParameterBlock

public ParameterBlock setParameterBlock(ParameterBlock paramBlock)
更改操作的當前 ParameterBlock,允許編輯圖像呈現鏈。當根據此 RenderableImageOp 或任何相關 RenderableImageOp 創建新呈現時,此更改的效果將是可見的。

參數:
paramBlock - 新的 ParameterBlock。
返回:
舊的 ParameterBlock。
另請參見:
getParameterBlock()

getParameterBlock

public ParameterBlock getParameterBlock()
返回到對當前參數塊的一個參考。

返回:
RenderableImageOpParameterBlock
另請參見:
setParameterBlock(ParameterBlock)

createScaledRendering

public RenderedImage createScaledRendering(int w,
                                           int h,
                                           RenderingHints hints)
創建此圖像具有寬度 w 和高度 h(以像素為單位)的一個 RenderedImage 實例。使用適當的 usr2dev 變換和完整圖像感興趣的區域自動建構 RenderContext。所有呈現提示均來自傳入的提示。

如果 w == 0,則該值將等於 Math.round(h*(getWidth()/getHeight()))。類似地,如果 h == 0,則該值將等於 Math.round(w*(getHeight()/getWidth()))。w 和 h 中必須有一個不為零,否則將拋出 IllegalArgumentException。

創建的 RenderedImage 可能有一個由字元串 HINTS_OBSERVED 標識的屬性,以指示使用了哪些 RenderingHints 創建該圖像。此外,通過創建的 RenderedImage 上的 getSources() 方法獲得的任何 RenderedImage 都可能具有該屬性。

指定者:
介面 RenderableImage 中的 createScaledRendering
參數:
w - 所呈現圖像的寬度(以像素為單位),或者為 0。
h - 所呈現圖像的高度(以像素為單位),或者為 0。
hints - 套件含提示的 RenderingHints 物件。
返回:
包含所呈現資料的 RenderedImage。

createDefaultRendering

public RenderedImage createDefaultRendering()
獲取此圖像具有預設寬度和高度(以像素為單位)的一個 RenderedImage 實例。使用適當的 usr2dev 變換和完整圖像感興趣的區域自動建構 RenderContext。所有呈現提示均來自傳入的提示。此介面的實作者必須保證存在已定義的預設寬度和高度。

指定者:
介面 RenderableImage 中的 createDefaultRendering
返回:
包含所呈現資料的 RenderedImage。

createRendering

public RenderedImage createRendering(RenderContext renderContext)
創建一個表示根據給定 RenderContext 呈現的 RenderableImageOp(包括其 Renderable 源)的 RenderedImage。

此方法支持 Renderable 或 RenderedImage 操作的連接。如果用於建構 RenderableImageOp 的 ParameterBlock 中的源為 RenderableImages,則遵循一個三步驟的過程:

  1. 對每個 RenderableImage 源在相關的 CRIF 上調用 mapRenderContext();
  2. 使用在第 1 步中獲取的向後映射的 RenderContext 在每個 RenderableImage 源上調用 createRendering(),得到每個源的呈現;
  3. 調用 ContextualRenderedImageFactory.create(),使用一個新 ParameterBlock,其包含通過調用 createRendering() 創建的 RenderedImage 和 RenderableImageOp 的參數。

如果用於建構 RenderableImageOp 的 ParameterBlock 源 Vector 的元素是 RenderedImage 實例,則立即使用初始 ParameterBlock 調用 CRIF.create() 方法。這為遞歸提供了一個基本方案。

創建的 RenderedImage 可能有一個由字元串 HINTS_OBSERVED 標識的屬性,以指示使用了哪些 RenderingHints(來自 RenderContext)創建該圖像。此外,通過創建的 RenderedImage 上的 getSources() 方法獲得的任何 RenderedImages 都可能具有該屬性。

指定者:
介面 RenderableImage 中的 createRendering
參數:
renderContext - 用於執行呈現的 RenderContext。
返回:
包含所需輸出圖像的 RenderedImage。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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