private System.Windows.Media.Matrix GetMatrixFromString(string transform) { if (!string.IsNullOrEmpty(transform)) { if (transform.Contains("translate")) { int begin = transform.IndexOf("(") + 1, end = transform.IndexOf(")"); string[] values = transform.Substring(begin, end - begin).Split(','); return(new System.Windows.Media.Matrix(1, 0, 0, 1, PaintObject.ParseToDouble(values[0]), PaintObject.ParseToDouble(values[1]))); } if (transform.Contains("matrix")) { int begin = transform.IndexOf("(") + 1, end = transform.IndexOf(")"); string[] values = transform.Substring(begin, end - begin).Split(','); return(new System.Windows.Media.Matrix( PaintObject.ParseToDouble(values[0]), PaintObject.ParseToDouble(values[1]), PaintObject.ParseToDouble(values[2]), PaintObject.ParseToDouble(values[3]), PaintObject.ParseToDouble(values[4]), PaintObject.ParseToDouble(values[5]))); } } return(new System.Windows.Media.Matrix(1, 0, 0, 1, 0, 0)); }
private PointF StringToPoint(string value) { string[] point = value.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); return(new PointF(Convert.ToSingle(PaintObject.ParseToDouble(point[0])), Convert.ToSingle(PaintObject.ParseToDouble(point[1])))); }