IInkDisp::Save 方法 (msinkaut.h)

將筆跡轉換成指定的 InkPersistenceFormat、使用指定的 InkPersistenceCompressionMode 儲存筆跡,並以位元組數位傳回二進位數據。

語法

HRESULT Save(
  [in, optional] InkPersistenceFormat          PersistenceFormat,
  [in, optional] InkPersistenceCompressionMode CompressionMode,
  [out, retval]  VARIANT                       *Data
);

參數

[in, optional] PersistenceFormat

選擇性。 設定其中一個 InkPersistenceFormat 值,指出保存的筆跡格式。 預設值為 InkSerializedFormat。

名稱 描述
InkSerializedFormat
筆跡會使用筆跡串行化格式 (ISF) 來保存。

這是最簡單且易於保留格式的筆墨表示法。 它可以內嵌到二進位文件格式中,或直接放置到剪貼簿上。 這是預設值。

Base64InkSerializedFormat
筆跡會藉由將ISF編碼為base64數據流來保存。

提供這種格式,讓筆跡可以直接以可擴展標記語言 (XML) 或 HTML 檔案編碼。

Gif
筆跡會使用圖形交換格式 (GIF) 檔案來保存,其中包含ISF作為內嵌在檔案中的元數據。

這可讓筆跡在未啟用筆跡的應用程式中檢視,並在其返回啟用筆跡的應用程式時維持其完整的筆跡逼真度。 當在 HTML 檔案內傳輸筆跡內容,並使它可供啟用筆跡和筆跡感知的應用程式使用時,此格式很理想。

Base64Gif
筆跡會使用base64編碼的強化來保存。

當筆跡直接編碼在 XML 或 HTML 檔案中,且稍後轉換成影像時,會提供這個 GIFformat。 可能的用法是 XML 格式,其產生的 XML 格式包含所有筆跡資訊,並做為透過可延伸樣式表單語言轉換產生 HTML 的方法, (XSLT) 。

[in, optional] CompressionMode

選擇性。 其中一個 InkPersistenceCompressionMode 值,指定保存筆跡的壓縮模式。 預設值為 IPCM_Default。

名稱 描述
IPCM_Default
當需要一般應用程式的儲存時間與記憶體之間的最佳取捨時,就會使用 。
IPCM_MaximumCompression
在將儲存空間降到最低時,會比儲存筆跡的速度還要重要。
IPCM_NoCompression
儲存時間比使用的儲存空間量更重要,以及版本之間的相容性很重要時使用。

[out, retval] Data

當這個方法傳回時,會包含包含保存筆跡的位元組陣列。

如需 VARIANT 結構的詳細資訊,請參閱 使用 COM 連結庫

傳回值

這個方法可以傳回下列其中一個值。

傳回碼 描述
S_OK
成功。
E_POINTER
參數包含無效的指標。
E_INK_EXCEPTION
方法內發生例外狀況。
E_INVALIDARG
無效的壓縮模式。
E_OUTOFMEMORY
無法配置位元組陣列。
E_UNEXPECTED
如果您嘗試以 GIF 格式儲存空的 Ink 物件,就會發生此情況。

備註

嘗試以 GIF 格式儲存空的 InkDisp 物件會產生錯誤。

注意使用Base64InkSerializedFormat值的InkPersistenceFormat呼叫Save方法時,傳回值為NULL終止的位元組陣列。 若要將儲存的筆跡寫入 XML 檔案,請先從數位中移除最後一個字節,再將數位轉換成 8 位 Unicode 轉換格式, (UTF-8) 編碼字元串。
 

規格需求

需求
最低支援的用戶端 Windows XP Tablet PC Edition [僅限傳統型應用程式]
最低支援的伺服器 都不支援
目標平台 Windows
標頭 msinkaut.h
程式庫 InkObj.dll

另請參閱

IInkDisp

InkDisp 類別

InkPersistenceCompressionMode 列舉

InkPersistenceFormat 列舉

Load 方法