共用方式為


Dynamic-Renderer外掛程式

動態轉譯器外掛程式是一個物件,會在 RealTimeStylus 物件處理平板電腦手寫筆資料時即時顯示。 之後,針對表單重新整理、動態轉譯器外掛程式或筆跡收集器外掛程式等事件,可能會重新繪製筆跡。

DynamicRenderer 物件

RealTimeStylus物件會實作IStylusSyncPlugin介面。 DynamicRenderer物件會即時轉譯筆跡,因為正在繪製。 當啟用DynamicRenderer物件時呼叫Refresh方法時,DynamicRenderer物件會重新繪製目前所收集的筆劃。 DynamicRenderer物件的Enabled屬性一開始設定為FALSE

注意

從 Managed 程式碼中的Paint事件處理常式內呼叫DynamicRenderer物件的Refresh方法時,請將DynamicRenderer 物件的 ClipRectangle屬性設定為PaintEventArgs物件的ClipRectangle屬性。

 

DynamicRenderer物件可以暫時快取筆跡資料。 若要在 Managed 程式碼中使用此功能,請將 EnableDataCache 屬性設定為 TRUE。 當 DynamicRenderer 物件收到其 IStylusSyncPlugin.StylusUp 方法的呼叫時,它會快取筆劃資料,並將自訂手寫筆資料新增至輸入佇列,以回應筆劃的 StylusUpData 物件。 CustomStylusData物件的CustomDataId屬性會設定為DynamicRendererCachedDataGuid值,而CustomStylusData物件的 Data 屬性包含 DynamicRendererCachedData 物件。 收集筆劃後,呼叫 DynamicRenderer 物件的 ReleaseCachedData 方法,而且可以靜態轉譯。 當啟用DynamicRenderer物件時呼叫Refresh方法時,DynamicRenderer物件會重新繪製所有快取的筆劃。 當 DataCacheEnabled 屬性設定為 false時,會刪除快取的筆劃資料。

下圖說明當設定 DynamicRenderer物件的DataCacheEnabled屬性時,DynamicRenderer物件如何將資料新增至平板電腦畫筆資料。

顯示 dynamicrenderer 資料流程的圖例

在此圖表中,字母為 「SD」 的圓形代表StylusDown物件,而圓形字母為 「P」 代表已新增至RealTimeStylus物件的輸出佇列且尚未傳送至非同步外掛程式集合的Packets物件。 字母為 「SU」 的圓形代表RealTimeStylus物件目前正在處理的StylusUp物件。 它會傳送至同步外掛程式集合,然後將它放在輸出佇列上。 以 「DR」 表示由 DynamicRenderer 外掛程式新增至輸入佇列的自訂手寫筆資料,以回應與 「SU」 相關聯的手寫筆通知。 接著,以 「DR」 表示的自訂手寫筆資料會傳遞至同步外掛程式,然後在處理下一個平板電腦手寫筆資料之前傳送至輸出佇列。 空的圓形代表輸出佇列中新增未來平板電腦手寫筆資料的位置。 圖表上也表示的筆跡收集器外掛程式會呼叫 DynamicRenderer 物件的 ReleaseCachedData 方法,以在筆跡集合外掛程式處理筆劃之後釋放快取的筆劃資料。

特殊考慮

下列清單描述使用 DynamicRenderer 物件時要考慮的其他重點。

自訂轉譯

您可以建立訂閱 StylusDownPacketsStylusUp 通知的同步外掛程式,以建立自己的動態轉譯器外掛程式。 您的外掛程式接著可以在繪製筆劃時呈現。 例如,這可能是實作使用自由格式選取範圍或選取方塊之選取工具的其中一種方式。