Графическая система координат и система координат мыши не совпадают - PullRequest
0 голосов
/ 21 октября 2019

Успешно заменена система координат мыши, заменена на матрицу преобразования с графической системой координат.

            Mouseout.X = e.X;
            Mouseout.Y = e.Y;
            PointF[] myArray =
            {
                new PointF(Mouseout.X,Mouseout.Y)
            };
            Matrix haha = new Matrix();
            haha.RotateAt(-(float)angle, Cen, MatrixOrder.Append);
            haha.Translate(MoveMouseMatrixX, MoveMouseMatrixY, MatrixOrder.Append);
            haha.TransformPoints(myArray);
            MouseLocation = myArray[0];

Однако координаты, которые перемещаются при перетаскивании, и координаты мыши не совпадают. Мышькоординаты, которые перемещаются в реальном времени, не могут быть прочитаны.

            GetCursorPos(out LastLocation);
            float moveX = (CurrentLocation.x - LastLocation.x);
            float moveY = (CurrentLocation.y - LastLocation.y);
            st.X -= moveX / 2;
            st.Y -= moveY / 2;
            le.X += moveX;
            le.Y += moveY;
            Cen.X -= moveX / 2;
            Cen.Y -= moveY / 2;
            MoveAngle.X += moveX / 2;
            MoveMatrixX -= moveX / 2;
            MoveMatrixY -= moveY / 2;
            MoveMouseMatrixX += moveX / 2;
            MoveMouseMatrixY += moveY / 2;
            CurrentLocation = LastLocation;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...