示例#1
0
        private void SetPreview()
        {
            var mousePos     = EyeDropperHelper.GetCursorPosition();
            var previewImage = EyeDropperHelper.CaptureRegion(new Int32Rect(mousePos.X - PreviewImageOuterPixelCount, mousePos.Y - PreviewImageOuterPixelCount, 2 * PreviewImageOuterPixelCount + 1, 2 * PreviewImageOuterPixelCount + 1));
            var previewColor = EyeDropperHelper.GetPixelColor(mousePos);

            SetCurrentValue(PreviewImageSourceProperty, previewImage);
            SetCurrentValue(PreviewBrushProperty, new SolidColorBrush(previewColor));
        }
        private void SetPreview()
        {
            var action = new Action(() =>
            {
                var mousePos     = EyeDropperHelper.GetCursorPosition();
                var previewImage = EyeDropperHelper.CaptureRegion(new Int32Rect(mousePos.X - PreviewImageOuterPixelCount, mousePos.Y - PreviewImageOuterPixelCount, 2 * PreviewImageOuterPixelCount + 1, 2 * PreviewImageOuterPixelCount + 1));
                var previewColor = EyeDropperHelper.GetPixelColor(mousePos);

                SetCurrentValue(PreviewImageSourceProperty, previewImage);
                SetCurrentValue(PreviewBrushProperty, new SolidColorBrush(previewColor));
            });

            Dispatcher.BeginInvoke(DispatcherPriority.Background, action);
        }
示例#3
0
        private void SetPreview()
        {
            if (currentTask?.Status == DispatcherOperationStatus.Executing || currentTask?.Status == DispatcherOperationStatus.Pending)
            {
                currentTask.Abort();
            }

            var action = new Action(() =>
            {
                var mousePos     = EyeDropperHelper.GetCursorPosition();
                var previewImage = EyeDropperHelper.CaptureRegion(new Int32Rect(mousePos.X - PreviewImageOuterPixelCount, mousePos.Y - PreviewImageOuterPixelCount, 2 * PreviewImageOuterPixelCount + 1, 2 * PreviewImageOuterPixelCount + 1));
                var previewBrush = new SolidColorBrush(EyeDropperHelper.GetPixelColor(mousePos));
                previewBrush.Freeze();

                PART_PreviewImage.Source = previewImage;
                SetCurrentValue(PreviewBrushProperty, previewBrush);
            });

            currentTask = Dispatcher.BeginInvoke(DispatcherPriority.Background, action);
        }