Ink API 已模組化,因此您可以只使用所需的功能。
筆觸
Strokes 模組是 Ink 程式庫的基礎,提供主要 API 介面,並包含與程式庫互動的核心資料類型。本單元的主要資料類型包括:
StrokeInputBatch
:代表一系列指標輸入,包括位置、時間戳記,以及選用的壓力、傾斜度和方向。這類資料可與以下項目搭配使用:Stroke
或InProgressStroke
類別以及提供手寫輸入內容的類型 辨識程式庫Stroke
:不可變動的 以固定幾何圖形的最終筆觸表示法。筆劃包含 換ImmutableStrokeInputBatch
(輸入點),Brush
(樣式) 和PartitionedMesh
(幾何形狀)。可在 應用程式InProgressStroke
:與Stroke
對應的變數,專門用於繪圖過程中的增量輸入處理和即時算繪。雖然通常會間接透過InProgressStrokesView
使用,但InProgressStroke
可直接用於進階自訂。
幾何學
「Geometry」(幾何圖形) 模組 提供一系列適用於基本和複雜模型的幾何圖形基元 以及交叉偵測和轉換的作業。 這些基本元素可與 Ink 筆劃完美整合,讓您打造整筆劃橡皮擦和選取框選工具等功能。
如果 Box
和
Vec
主要便於協助
幾何運算
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
。