Переместить неправильную форму в C # - PullRequest
0 голосов
/ 28 февраля 2019

В настоящее время я работаю с c # PictureBox, и я сделал рисунок в режиме handsfree в графическом окне, которые имеют неправильную форму и горизонтальные линии.Как переместить выбранную неправильную форму с помощью мыши.

public class IrregularShape
{
    public Color ShapeColor { get; set; }
    public Point Start { get; set; }
    public Point End { get; set; }
    public List<Point> points = new List<Point>();
}

У меня есть выделенная форма в мышке с началом, концом и списком точек этой формы.

1 Ответ

0 голосов
/ 06 марта 2019

Рад, что наконец нашел это.При наведении мышки запишите этот код:

                    isdraggingshape = true;
                    if (selectedshape != null)
                        {
                           OffsetX = selectedshape.Start.X - e.Location.X;
                           OffsetY = selectedshape.Start.Y - e.Location.Y;

                        }   

при движении мыши:

          if (isdraggingshape == true)
                {
                    if (OffsetX != null && OffsetY != null)
                    {
                        if (e.Button == MouseButtons.Left)
                        { int new_x1 = e.X + OffsetX;
                            int new_y1 = e.Y + OffsetY;
                            int dx = new_x1 - selectedshape.Start.X;
                            int dy = new_y1 - selectedshape.Start.Y;
                            if (dx == 0 && dy == 0) return;

                            // Move the shape
                            for (int i = 0; i < selectedshape.points.Count; i++)
                            {
                                selectedshape.points[i] = new Point(selectedshape.points[i].X + dx,selectedshape.points[i].Y + dy);
                            }

                            // Redraw.
                            ImagepictureBox.Invalidate();
                        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...