Ejemplo n.º 1
0
        /// <summary>
        /// Загружает вектор формата .PRRES.
        /// </summary>
        /// <param name="FileName">Имя файла для загрузки.</param>
        private void LoadVectPrres(string FileName)
        {
            VPointEx[][] contours;// = new VPointEx[0][];
            var          s       = File.ReadAllText(FileName);
            var          main    = s.Split('$');
            var          header  = main[0].Split(';');
            VectHeader   headerr = new VectHeader();

            if (header[0] == "prres")
            {
                headerr.Width       = int.Parse(header[1]);
                headerr.Height      = int.Parse(header[2]);
                headerr.CountOfCont = int.Parse(header[6]);
                headerr.VectType    = VectType.Rastr; //TODO sdelat` normalnoe opredelenie tipa vectora
                contours            = new VPointEx[headerr.CountOfCont][];
                for (int i = 0; i <= headerr.CountOfCont - 1; i++)
                {
                    var data1         = main[i + 1].Split('?');
                    var countofpoints = data1[0];
                    contours[i] = new VPointEx[int.Parse(countofpoints)];
                    var data2 = data1[1].Split(';');
                    for (int j = 0; j <= data2.Length - 2; j++)
                    {
                        var coordinates = data2[j].Split(',');
                        var xs          = coordinates[0];
                        Helper.Delete(ref xs, 1, 1);
                        var ys = coordinates[1];
                        Helper.Delete(ref ys, ys.Length, 1);
                        contours[i][j] = new VPointEx(int.Parse(xs), int.Parse(ys), 0, Color.Black);
                    }
                }
            }
            else
            {
                return;
            }
            Header  = headerr;
            RawData = contours;
        }