Как добавить точку, объявленную в массив чисел на графической панели - PullRequest
0 голосов
/ 11 июля 2020

Я разрабатываю программное обеспечение для оцифровки графиков, и мне хотелось бы упростить пользователю удаление любой из точек. По этой причине я использую четырехкратный массив двойников, который содержит x показанной точки, y показанной точки, значение x этой точки и значение y этой точки. Это необходимо для удаления любой из оценочных точек, поскольку она устанавливает связь между показанными и ценными точками. Но вместо добавления новых показанных точек на графике показанная точка просто перемещается на новое место.

Графический код:

            Graphics canvas = e.Graphics;
            Pen pn = new Pen(pointcolor);
            foreach (double[] pnt in valpoints)
            {
                Point pnt1 = new Point(Convert.ToInt32(pnt[0]) - 2, Convert.ToInt32(pnt[1]));
                Point pnt2 = new Point(Convert.ToInt32(pnt[0]) + 2, Convert.ToInt32(pnt[1]));
                Point pnt3 = new Point(Convert.ToInt32(pnt[0]), Convert.ToInt32(pnt[1]) - 2);
                Point pnt4 = new Point(Convert.ToInt32(pnt[0]), Convert.ToInt32(pnt[1]) + 2);
                canvas.DrawLine(pn, pnt1, pnt2);
                canvas.DrawLine(pn, pnt3, pnt4);
            }

Сбор точек (в список массивов) код:

                    valpoint[0] = e.X;
                    valpoint[1] = e.Y;
                    valpoint[2] = graphX;
                    valpoint[3] = graphY;
                    dataGridView1.Rows.Add(graphX.ToString(), graphY.ToString());
                    valpoints.Add(valpoint);
                    siskinsoftPanel2.Refresh();

Кто-нибудь знает, как решить эту проблему? Если вы не понимаете этого вопроса, просьба спросить меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...