共用方式為


筆跡集合

筆跡集合從數位板開始。 使用者將手寫筆放在數位板上,並開始寫入。 您可以使用 API 的筆跡集合功能來管理從畫筆「流動」的筆跡資料收集。 您可以透過平板電腦集合和平板電腦物件存取平板電腦上可用硬體的相關資訊。 然後,您可以使用 InkCollector 物件來取得來自數位板的資料。

平板電腦和平板電腦物件

平板電腦代表平板電腦數位板裝置。 平板電腦可能有多個數位板。 使用 Tablet 物件,您可以查詢連接至 平板 電腦及其個別硬體功能的可用數位板裝置。 例如,您可以判斷您正在使用的 平板電腦 是否與顯示器整合,或是個別的外部裝置。

InkCollector 物件

InkCollector物件會從可用的平板電腦裝置擷取筆跡輸入。 InkCollector物件只會收集輸入到特定視窗的筆跡和手勢。 非常有效率的事件接收會即時轉譯此輸入。 InkCollector物件會擷取輸入,並將其導向至Ink物件。

注意

視數位板裝置的硬體功能而定,使用多個手寫筆同時配置筆跡可能無法運作。

 

筆跡收集器的運作方式

InkCollector物件會將本身附加至已知的應用程式視窗。 然後,它可讓使用者使用任何可用的平板電腦裝置, (包括滑鼠) ,以在該視窗上即時配置筆跡。 所收集的筆墨筆劃會儲存在相關聯的 Ink 物件中。 這些筆劃接著可以操作或傳送至辨識器以進行辨識。 InkCollector物件也會在游標進入所使用之任何平板電腦裝置的範圍時通知應用程式。

若要讓 InkCollector 物件在已啟用筆跡的視窗中正確設定滑鼠游標,該視窗必須能夠接收 WM_SETCURSOR 訊息。 這適用于所有一般視窗,但對於對話方塊內的控制項而言,控制項的對話方塊父代會篩選此訊息。 若要讓控制項接收訊息,請設定 SS_NOTIFY 樣式。

InkOverlay 物件

先前所討論的 InkCollector 物件對於應用程式提供自己的模型來選取、清除和其他使用者互動很有用。 InkOverlay物件是InkCollector物件的超集合,可提供編輯支援。 這適用于應用程式使用物件所提供的一組標準筆跡選取模型,將筆跡繪圖和編輯整合到自己的檔畫布中。

InkCollector物件和InkOverlay物件 (以及InkPicture控制項) 使用一般建構,例如Ink物件和DrawingAttributes集合,讓變更筆跡色彩的基本方式在任何地方都相同。 這可讓您重複使用程式碼,並具有常見的程式設計存取權,如果您在應用程式中提供腳本支援,這特別重要。

InkOverlay 是一個 COM 物件,對於使用者不擔心對筆跡執行辨識,而是對筆跡的大小、圖形、色彩和位置感興趣,因此對批註案例很有用。 它很適合用於記事和基本複寫。 預設使用者介面是透明矩形,具有不透明筆跡。

InkOverlay 會以三種方式擴充 InkCollector 類別:

  • 它會引發 begin-stroke、end-stroke 和 ink 屬性變更的事件。
  • 它可讓使用者選取、清除及調整筆跡大小。
  • 它支援剪下、複製和貼上命令。

InkOverlay在標記簡報投影片或影像時很有用的一般案例。 InkOverlay物件可讓您輕鬆實作此案例所需的筆跡和版面配置功能。

若要使用 InkOverlay,您可以:

  1. 具現化 InkOverlay 物件。
  2. 在 Managed 程式碼) 中,將視窗) 的 hWnd (控制碼附加至 InkOverlay 物件的 hWnd 屬性 (Handle 屬性。
  3. InkOverlay 物件的 Enabled 屬性設定為 TRUE

InkOverlay物件包含基本列印支援,但您必須實作預覽列印或其他進階列印功能。

InkOverlay 會以筆跡序列化格式保存筆墨, (ISF) 。

注意

如果 InkOverlay 物件的 EditingMode 設定為 DeleteSelect,則會觸發其他事件 (,例如 InkAddedInkDeletedStroke) 。 如果您想要實作自己的刪除或選取模式,這些事件非常有用。

 

選取筆跡

InkOverlay物件可讓使用者使用套索工具來選取追蹤區域中所包含的筆跡物件。 使用者也可以點選任何 Ink 物件來選取筆

使用 Selection 屬性可傳回可用來操作使用者選取範圍的 Strokes 集合。

選取 Ink 物件或一組 Ink 物件時,調整大小控點會出現在筆跡周框方塊的四個角落,以及相鄰角落之間的所有中間點。 如果使用者拖曳選取區域內的任何位置,筆跡就會變成可在控制項內移動。

預設行為

InkOverlay物件預設會設定為收集筆跡。 筆跡是 53 個筆跡空間單位寬 (,其中 1 個筆跡空間單位 = 1 HIMETRIC) 。 如果使用者未以高對比模式執行,則筆跡為黑色。 否則,筆跡會設定為 managed 程式碼) 中的windowText (COLOR_WINDOWTEXT值。 FitToCurveFALSE

游標和按鈕物件

游標會對應到平板電腦上所使用的手寫筆提示。 例如,鉛筆有兩端。 通常,一端用於寫入,另一端則用於清除。 這兩端對應至兩個數據指標。 Cursor類別不會與System.Windows.Forms.Cursor混淆。

在平板電腦上,資料指標通常會定義為用於寫入或清除。 如果應用程式啟用這項功能,資料指標可能會變更角色。 某些平板電腦裝置允許多個手寫筆。 每個資料指標都有在系統上唯一的相關聯資料指標識別碼。 游標可以有零個或多個相關聯的按鈕。 這些按鈕會以 CursorButton 物件的形式提供給應用程式。 應用程式可以為任何指定的資料指標提供特定的 DrawingAttributes 物件。

繪圖屬性物件

DrawingAttributes物件描述如何繪製任何已知的筆跡集。 DrawingAttributes物件包含基本屬性,例如ColorWidthPenTip。 它也可以包含進階參數,例如可變透明度和 Bezier 平滑,可提供有趣的效果或改善筆跡可讀性。

PenInputPanel 物件

注意

PenInputPanel類別已被取代。 PenInputPanel類別已由TextInputPanel類別取代。

 

PenInputPanel物件可讓您輕鬆地將就地畫筆輸入新增至您的應用程式。 PenInputPanel可作為可附加的物件,可讓您將平板電腦輸入面板功能新增至現有的控制項。 使用者介面主要是由目前的輸入語言所要求。 您可以選擇手寫或鍵盤的 PenInputPanel預設輸入方法。 終端使用者可以使用使用者介面上的按鈕,在輸入方法之間切換。

InkCollector 類別 (C++)

InkOverlay 類別 (C++)

Microsoft.Ink 命名空間