Azmyth.Editor.frmPGM.openEV3PGMToolStripMenuItem_Click C# (CSharp) Method

openEV3PGMToolStripMenuItem_Click() private method

private openEV3PGMToolStripMenuItem_Click ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        private void openEV3PGMToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int x = 174;
            int y = 128;
            string pgm = "";
            Stream f = null;
            int size = x * y;
            int[] cells = new int[size];
            openFileDialog1.Filter = "PGM | *.pgm";
            DialogResult res = openFileDialog1.ShowDialog(this);

            if(openFileDialog1.SafeFileName != "")
            {
                f = openFileDialog1.OpenFile();

                using (StreamReader reader = new StreamReader(f, Encoding.UTF8))
                {
                    pgm = reader.ReadToEnd();
                }

                grid1.ClearCells();

                pgm = pgm.Replace("\r", "");
                pgm = pgm.Replace("\n", "");

                string[] pgmCells = pgm.Split(',');
                StringBuilder strBuffer = new StringBuilder();

                int posX = 0;
                int posY = -1;

                grid1.SetBounds(x, y);

                for (int n = 0; n < size; n++)
                {
                    if (n % x == 0)
                    {
                        posX = 0;
                        posY++;
                    }

                    int color = int.Parse(pgmCells[n]);

                    switch (m_scale)
                    {
                        case ScaleTypes.HeightMap:
                            grid1.SetCell(posX, posY, Color.FromArgb(color, color, color));
                            break;
                        case ScaleTypes.HeatMap:
                            grid1.SetCell(posX, posY, Color.FromArgb(255 - color, 0, color));
                            break;
                    }

                    posX++;

                }

                grid1.Invalidate();

            }

            f.Close();
        }