2013-05-14 53 views
1

我遇到以下問題:如何保存用戶繪製的畫布內容?

我試圖保存應用程序的內容。內容通過用戶在畫布上繪製。 實施例:

用戶可能點擊一個按鈕來繪製橢圓形等

點擊按鈕之後,該圖將在畫布上顯示。

我想保存用戶在畫布上繪製的內容。任何人都可以給我一個提示。 如果我使用序列化和反序列化,這會很好嗎?

的代碼使用的Visual Studio 2012,Windows 8的應用程序用C#編寫

+0

您可以使用javascript將畫布轉換爲圖像。 – 2013-05-14 07:06:22

+0

這就是 – 2013-05-14 07:07:49

+0

什麼序列化但我想要的是,保存的信息應該打開我的應用程序,所以他可以修改它們。 – user2380487 2013-05-14 07:14:20

回答

2

有解決這個的幾種方法:

  1. 保存用戶的每個動作 - 就像一個撤銷/重做疊加。非常靈活,但文件可以變得非常大。在這種情況下,你需要序列化一堆命令。加載該命令將不得不重播。

  2. 保存繪圖的邏輯結構 - 就像Html或SVG一樣。沒有撤消/重做支持,但更小的文件。在這種情況下,您需要序列化文檔模型。

  3. 在一個動作之後保存每個產生的位圖 - 比1和2更容易實現,但更難支持編輯元素。沒有.NET對象的序列化只是很多位圖。

每種方法都有其優點和缺點。