Pergunta

I need to convert a string path to a Geometry and back again.

The first step is to convert my path: "M 100 100 L 300 100 L 200 300 z". To do this I use the Geoemtry.Path method, that creates a new Geometry instance from the specified string:

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

Of this geometry I need to store, in my data structure, its path, that I get using the Geometry.ToString method:

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

Now I want to recreate the same geometry using the stored path, therefore I use again the Grometry.Parse method:

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

The problem is I get a FormatException!
How is it possible? How can I fix it?

Foi útil?

Solução

I guess this is the problem with the Culture of your machine as it is set to some other culture than en-Us. Because the path values should be comma/space seperated in order to be parsed while in your case ToString() is returning the semi colon seperated values. Try using CultureInfo.InvariantCulture while converting the Geometry to string. It will fix the exception

string str = geometry.ToString(CultureInfo.InvariantCulture);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top