Exemplo n.º 1
0
        private Bitmap CurrentGameBitmap()
        {
            var windowArea       = WindowsUtilities.GetWindowArea(gameWindowHandler);
            var absoluteGameArea = new Rectangle()
            {
                X      = windowArea.X + gameConfig.GameArea.X,
                Y      = windowArea.Y + gameConfig.GameArea.Y,
                Width  = gameConfig.GameArea.Width,
                Height = gameConfig.GameArea.Height
            };

            return(BitmapUtilities.CaptureGame(absoluteGameArea, Processor.ProcessingSize));
        }
Exemplo n.º 2
0
        private void OverwriteGameWindowArea(object sender, RoutedEventArgs e)
        {
            if (gameWindowHandler != IntPtr.MaxValue)
            {
                var windowRect = WindowsUtilities.GetWindowArea(gameWindowHandler);
                gameConfig.WindowArea = windowRect;

                if (gameConfig.GameArea.Width > windowRect.Width || gameConfig.GameArea.Height > windowRect.Height)
                {
                    var ratio          = (double)Processor.ProcessingSize.Width / Processor.ProcessingSize.Height;
                    var gameAreaY      = 57;
                    var gameAreaHeight = windowRect.Height - 60;
                    var gameAreaWidth  = (int)(gameAreaHeight * ratio);
                    var gameAreaX      = (windowRect.Width - gameAreaWidth) / 2;
                    gameConfig.GameArea = new(gameAreaX, gameAreaY, gameAreaWidth, gameAreaHeight);
                }

                gameConfig.SaveConfig();
                StatusBlock.Text = "Game window info saved";
            }
        }