模組

Ink API 已模組化,因此您可以只使用所需的功能。

筆觸

Strokes 模組是 Ink 程式庫的基礎,提供主要 API 介面,並包含與程式庫互動的核心資料類型。本單元的主要資料類型包括:

幾何學

「Geometry」(幾何圖形) 模組 提供一系列適用於基本和複雜模型的幾何圖形基元 以及交叉偵測和轉換的作業。 這些基本元素可與 Ink 筆劃完美整合,讓您打造整筆劃橡皮擦和選取框選工具等功能。

如果 BoxVec 主要便於協助 幾何運算 PartitionedMesh 可能會 也包含轉譯特定資料

筆刷

Brush 模組可做為宣告式設定,用於建立和算繪筆劃,運作方式類似文字字型。A 罩杯 Brush 物件含有 屬性:

  • 顏色:可以是純色,也可以是疊加特效和紋理的基礎。
  • 大小:可固定或做為動態大小調整項的基礎。
  • Family:類似於文字字體,family 會定義筆劃的整體樣式。
  • Epsilon:控制筆劃向量幾何圖形的細節等級 代表最小的視覺差異

epsilon 屬性會播放 是定義座標系統精確度的重要角色更多指引 選擇適當的 Epsilon 值

BrushFamily 會用來 這個強大的設定可建立表達式的筆觸,無需深入瞭解 複雜的幾何或轉譯程式碼這個程式庫提供一組預先定義的 StockBrushes,包括壓力感應筆、螢光筆和標記。

編寫

Authoring 模組可讓開發人員擷取使用者觸控輸入內容,並算繪為 螢幕上即時的低延遲筆劃系統會透過 InProgressStrokesView 類別, 處理動作事件,並在繪製筆觸時以視覺化方式呈現。

筆劃完成後,模組會使用 onStrokesFinished() 回呼通知用戶端應用程式 InProgressStrokesFinishedListener。回呼可讓應用程式擷取完成的筆觸資料,用於算繪或儲存。

轉譯

轉譯模組可簡化在 Android Canvas上繪製墨水筆觸的程序。單元 提供了 CanvasStrokeRenderer 適用於 Compose 和 ViewStrokeRenderer 用於以檢視畫面為基礎的版面配置,這兩種做法都能改善算繪效能,並確保 圖像化,包括消除鋸齒等

如要將筆觸轉譯至畫布,請取得 CanvasStrokeRenderer 使用 create() 方法。接著,使用 draw() 方法來轉譯已完成或處理中的筆觸。 畫到畫布上

在繪製筆劃時,可將畫布轉換 (平移、縮放或旋轉),但為了確保筆劃在螢幕上繪製時看起來最美觀,您必須將套用至畫布的轉換傳遞至 CanvasStrokeRenderer#draw()。為避免產生個別追蹤記錄,請使用 ViewStrokeRenderer