共用方式為


墨水收藏

筆跡收集從數位板開始。 使用者將手寫筆放在數位板上,並開始寫入。 您可以使用 API 的筆跡收集功能來管理筆跡數據的收集,這些筆跡數據會從畫筆「流動」。 您可以透過 Tablets 集合和 Tablet 物件,存取平板電腦電腦上可用硬體的相關信息。 然後使用 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 類別:

  • 它會引發開始筆劃、結束筆劃和筆跡屬性變更的事件。
  • 它可讓用戶選取、清除及調整筆跡大小。
  • 它支援剪下、複製和貼上命令。

在標記簡報投影片或影像的典型情境中,InkOverlay 非常有用。 InkOverlay 物件可讓您輕鬆實作此案例所需的筆跡和版面配置功能。

若要使用 inkOverlay ,您可以:

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

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

InkOverlay 以筆跡串行化格式保存筆跡(ISF)。

注意

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

 

選擇墨水

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

使用 Selection 屬性以傳回 Strokes 集合,此集合用於操作使用者的選取範圍。

當選取 Ink 物件或一組 Ink 物件時,大小控點會出現在筆跡外框的四個角落,以及相鄰角落之間的所有中點。 如果使用者拖曳選取區域內的任何位置,則筆跡會在控件內移動。

預設行為

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

游標和按鈕物件

游標對應於在平板電腦上使用的手寫筆的筆尖。 例如,鉛筆有兩端。 通常,一端用於寫入,另一端則用於清除。 這兩個末端對應至兩個游標。 Cursor 類別不會與 system.Windows.Forms.Cursor混淆。

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

繪圖屬性物件

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

PenInputPanel 物件

備註

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

 

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

InkCollector 類別 (C++)

InkOverlay 類別 (C++)

Microsoft.Ink 命名空間