Esempio n. 1
0
        // TODO: Untested
        public Rectangle TransformRectangle(Rectangle sourceRectangle, RelativeCoordinatePosition coordinatePosition = RelativeCoordinatePosition.Left, int originalWidth = 1920, int originalHeight = 1080)
        {
            var newSize  = TransformSize(sourceRectangle.Size, coordinatePosition, originalWidth, originalHeight);
            var newPoint = TransformCoordinate(new Point(sourceRectangle.X, sourceRectangle.Y), coordinatePosition, originalWidth, originalHeight);

            return(new Rectangle(newPoint, newSize));
        }
Esempio n. 2
0
        public Point TransformCoordinate(Point sourceCoordinate, RelativeCoordinatePosition coordinatePosition = RelativeCoordinatePosition.Left, int originalWidth = 1920, int originalHeight = 1080)
        {
            var rect = handleService.GetHandle("Diablo III64").ClientRectangle;

            var originalWidthF  = (float)originalWidth;
            var originalHeightF = (float)originalHeight;

            var scaledY = (int)(rect.Height / originalHeightF * sourceCoordinate.Y);

            int scaledX;

            if (coordinatePosition == RelativeCoordinatePosition.Left)
            {
                scaledX = (int)(rect.Height / originalHeightF * sourceCoordinate.X);
            }
            else if (coordinatePosition == RelativeCoordinatePosition.Right)
            {
                scaledX = (int)(rect.Width - (originalWidthF - sourceCoordinate.X) * rect.Height / originalHeightF);
            }
            else
            {
                scaledX = (int)(sourceCoordinate.X * rect.Height / originalHeightF + (rect.Width - originalWidthF * rect.Height / originalHeightF) / 2.0);
            }

            return(new Point {
                X = scaledX, Y = scaledY
            });
        }
Esempio n. 3
0
        // TODO: Untested
        public Size TransformSize(Size sourceSize, RelativeCoordinatePosition coordinatePosition = RelativeCoordinatePosition.Left, int originalWidth = 1920, int originalHeight = 1080)
        {
            var point = new Point {
                X = sourceSize.Width, Y = sourceSize.Height
            };

            var transformedPoint = TransformCoordinate(point, coordinatePosition, originalWidth, originalHeight);

            return(new Size {
                Width = transformedPoint.X, Height = transformedPoint.Y
            });
        }