2013-10-19 44 views
2

我需要將字符串路徑轉換爲Geometry,然後再返回。爲什麼要將字符串路徑轉換爲幾何體並再次返回,會引發FormatException?

第一步是轉換我的路徑:"M 100 100 L 300 100 L 200 300 z"。要做到這一點我使用Geoemtry.Path方法,即從指定的字符串創建一個新的幾何實例:

var geometry = Geometry.Parse("M 100 100 L 300 100 L 200 300 z"); 

這種幾何我需要存儲,在我的數據結構,它的路徑,我得到使用Geometry.ToString方法:

string str = geometry.ToString(); 
// And this is my str: "M100;100L300;100 200;300z" 

現在我想用存儲的路徑重新創建相同的幾何形狀,因此,我再次使用Grometry.Parse方法:

// Here i get a FormatException 
var geometry2 = Geometry.Parse(str); 

問題是我得到FormatException
這怎麼可能?我該如何解決它?

+0

將「M100; 100L300; 100 200; 300z」轉變爲「M 100 100 L 300 100 L 200 300 z」。刪除分號並嘗試一下。 :) –

回答

3

我想這是你的機器的Culture的問題,因爲它被設置爲其他cultureen-Us。因爲路徑值應該是逗號/空格分開,以便在您的情況下進行分析ToString()正在返回分號分隔值。嘗試使用CultureInfo.InvariantCulture,同時將Geometry轉換爲string。它將修復異常

string str = geometry.ToString(CultureInfo.InvariantCulture); 
相關問題