我需要幫助,使用我創建的將用戶繪製的形狀類型和形狀信息的列表中的圖形保存到Winform中的繪製形狀到文本文件中將其編碼爲UTF8(或選擇)。繪製形狀並將文件保存爲文本,編碼和解碼
我的問題是保存了「繪圖」後,它具有形狀類型線條,矩形等作爲文本文件。如何在winform應用程序中打開它並解析數字並使用圖形和繪畫事件在winform上重新創建形狀?
我目前在代碼中所做的是用戶在由鼠標事件處理的圖形上繪製形狀,然後進入列表。用戶還選擇文本文件的編碼類型(如Encoding.ASCII等)然後我有一個保存菜單,用戶將文件保存到一個位置。還有一個清晰的按鈕來清除圖紙等。然後我無法弄清楚如何打開文本文件重新創建已清除的已保存的圖紙。
我看了一下關於爲編碼創建自己的格式的msdn API,但我對如何去做它感到困惑。
我想要做的是檢查用戶保存了什麼編碼,然後選擇適當的自定義格式來重新創建Winform圖形上的形狀。
任何想法?謝謝。
編輯: 我使用保存的文本文件中的代碼:
using (BinaryWriter save_bin = new BinaryWriter(File.Open(save_fd.FileName, FileMode.OpenOrCreate), Encoding.UTF8))
{
foreach (Shape a in shapeList)
{
save_bin.Write(a.ToString());
}
save_bin.Close();
}
我想我不應該使用的ToString(),但沒有別的東西可寫。
編碼可能是用xml完成,很容易存儲形狀中包含的所有屬性。 –
我打開記事本中的文本文件並查看屬性。當我在Winform應用程序中使用FileOpenDialog打開它時,我怎麼知道什麼屬性是什麼,以便我可以使用createshaha方法?我在帖子中添加了更多內容,以防我編碼錯誤。 – Roys
這取決於你,他創建了編碼。你也可以爲每個形狀創建一個具有所有屬性的類,然後將它們序列化爲xml或甚至二進制 –