Пример #1
0
        private void Run()
        {
            while (isRunning)
            {
                if (previousScreen != null)
                {
                    previousScreen.Dispose();
                }

                if (currentScreen != null)
                {
                    previousScreen = BitmapManager.CloneBitmap(currentScreen);
                    currentScreen.Dispose();
                }

                currentScreen = ScreenManager.Screenshot();
                bool sendScreen = false;

                if (previousScreen != null)
                {
                    if (BitmapManager.BitmapChanged(previousScreen, currentScreen, 1000000, 70))
                    {
                        sendScreen = true;
                    }
                }
                else
                {
                    sendScreen = true;
                }

                if (sendScreen)
                {
                    subject.Notify(BitmapManager.CloneBitmap(currentScreen));
                }

                Thread.Sleep(100);
            }
        }