Ejemplo n.º 1
0
        /// <summary>
        /// Called when [auto grey scale image is enabled property changed].
        /// </summary>
        /// <param name="source">The source.</param>
        /// <param name="args">The <see cref="System.Windows.DependencyPropertyChangedEventArgs"/> instance containing the event data.</param>
        private static void OnAutoGreyScaleImageIsEnabledPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs args)
        {
            var autoGreyScaleImg = source as AutoGreyableImage;
            var isEnable         = Convert.ToBoolean(args.NewValue);

            if (autoGreyScaleImg != null)
            {
                if (!isEnable)
                {
                    // Get the source bitmap
                    //var bitmapImage = new BitmapImage(new Uri(autoGreyScaleImg.Source.ToString()));
                    // Convert it to Gray
                    //autoGreyScaleImg.Source = new FormatConvertedBitmap(bitmapImage, PixelFormats.Gray8, null, 0);
                    GrayscaleEffect.GrayscaleEffect gse = new GrayscaleEffect.GrayscaleEffect();
                    autoGreyScaleImg.Effect = gse;
                    gse.DesaturationFactor  = 0.05;

                    // Create Opacity Mask for greyscale image as FormatConvertedBitmap does not keep transparency info
                    //autoGreyScaleImg.OpacityMask = new ImageBrush(bitmapImage);
                }
                else
                {
                    // Set the Source property to the original value.
                    //autoGreyScaleImg.Source = ((FormatConvertedBitmap)autoGreyScaleImg.Source).Source;
                    // Reset the Opcity Mask
                    autoGreyScaleImg.OpacityMask = null;
                    autoGreyScaleImg.Effect      = null;
                }
            }
        }
 public GrayscaleImage()
 {
     Effect = new GrayscaleEffect.GrayscaleEffect {DesaturationFactor = 1};
 }
Ejemplo n.º 3
0
 public GrayscaleImage()
 {
     Effect = new GrayscaleEffect.GrayscaleEffect {
         DesaturationFactor = 1
     };
 }
 public GrayscaleContentPresenter()
 {
     Effect = new GrayscaleEffect.GrayscaleEffect {
         DesaturationFactor = 1
     };
 }
Ejemplo n.º 5
0
        private void DoThrow(UIElement el)
        {
            var center = new Point(150, 150);

            var scale = new ScaleTransform(0, 0, center.X, center.Y);
            var rot   = new RotateTransform(0.0, center.X, center.Y);
            var trans = new TranslateTransform(50.0, 50.0);

            var tg = new TransformGroup();
            tg.Children.Add(scale);
            tg.Children.Add(rot);
            tg.Children.Add(trans);
            el.RenderTransform = tg;

            var cw   = random.Next(2) == 0 ? 1 : -1; // Clockwise
            var deg  = Wiggle(8, 6);
            var dist = Wiggle(50, 20);

            rot.BeginAnimation(RotateTransform.AngleProperty,  Animation(cw * 2, cw * deg, 2));
            trans.BeginAnimation(TranslateTransform.YProperty, Animation(0, -dist, 2));
            scale.BeginAnimation(ScaleTransform.ScaleXProperty, Animation(1.1, 1, 0.5));
            scale.BeginAnimation(ScaleTransform.ScaleYProperty, Animation(1.1, 1, 0.5));

            var fadeOut = new DoubleAnimationUsingKeyFrames()
            {
                DecelerationRatio = 0.9,
                KeyFrames = {
                    new LinearDoubleKeyFrame() { KeyTime = TimeSpan.FromSeconds(0),  Value = 0  },
                    new LinearDoubleKeyFrame() { KeyTime = TimeSpan.FromSeconds(1),  Value = 1  },
                    new LinearDoubleKeyFrame() { KeyTime = TimeSpan.FromSeconds(2 * PhotoIntervalSeconds), Value = 1  },
                    new LinearDoubleKeyFrame() { KeyTime = TimeSpan.FromSeconds(4 * PhotoIntervalSeconds), Value = 0  },
                }
            };

            fadeOut.Completed += (a, e) => ((Panel)LogicalTreeHelper.GetParent(el)).Children.Remove(el);

            el.BeginAnimation(UIElement.OpacityProperty, fadeOut);

            var gray = new GrayscaleEffect.GrayscaleEffect();
            el.Effect = gray;

            var grayscaleFade = new DoubleAnimationUsingKeyFrames()
            {
                DecelerationRatio = 0.9,
                KeyFrames = {
                    new LinearDoubleKeyFrame() { KeyTime = TimeSpan.FromSeconds(0),   Value = 1  },
                    new LinearDoubleKeyFrame() { KeyTime = TimeSpan.FromSeconds(PhotoIntervalSeconds),      Value = 1  },
                    new LinearDoubleKeyFrame() { KeyTime = TimeSpan.FromSeconds(2 * PhotoIntervalSeconds),  Value = 0  },
                }
            };
            gray.BeginAnimation(GrayscaleEffect.GrayscaleEffect.DesaturationFactorProperty, grayscaleFade);
        }
Ejemplo n.º 6
0
        private void VisibilityManagement(int step)
        {
            // Step 1
            if (step == 1)
            {
                Preview.Visibility         = Visibility.Visible;
                PositionMessage.Visibility = Visibility.Visible;
                FourPictures.Visibility    = Visibility.Hidden;
            }
            else
            {
                Preview.Visibility         = Visibility.Hidden;
                PositionMessage.Visibility = Visibility.Hidden;
            }


            // Step 2
            if (step == 2)
            {
                WatchMessage.Visibility = Visibility.Visible;
                if (_nbPhotos == 4)
                {
                    FourPictures.Visibility = Visibility.Visible;
                    Photo0.Visibility       = Visibility.Hidden;
                    Photo1.Visibility       = Visibility.Hidden;
                    Photo2.Visibility       = Visibility.Hidden;
                    Photo3.Visibility       = Visibility.Hidden;
                    BackPhoto0.Visibility   = Visibility.Visible;
                    BackPhoto1.Visibility   = Visibility.Visible;
                    BackPhoto2.Visibility   = Visibility.Visible;
                    BackPhoto3.Visibility   = Visibility.Visible;
                    Number0.Visibility      = Visibility.Visible;
                    Number1.Visibility      = Visibility.Visible;
                    Number2.Visibility      = Visibility.Visible;
                    Number3.Visibility      = Visibility.Visible;
                }
                else
                {
                    Smile.Visibility = Visibility.Visible;
                }
            }
            else
            {
                Smile.Visibility        = Visibility.Hidden;
                Smile0.Visibility       = Visibility.Hidden;
                Smile1.Visibility       = Visibility.Hidden;
                Smile2.Visibility       = Visibility.Hidden;
                Smile3.Visibility       = Visibility.Hidden;
                WatchMessage.Visibility = Visibility.Hidden;
            }

            // Step 3
            if (step == 3)
            {
                WaitDownloadMessage.Visibility = Visibility.Visible;
                if (_nbPhotos == 4)
                {
                    if (_photos.Count == 0)
                    {
                        Smile0.Visibility = Visibility.Hidden;
                        Wait0.Visibility  = Visibility.Visible;
                    }
                    else if (_photos.Count == 1)
                    {
                        Smile1.Visibility = Visibility.Hidden;
                        Wait1.Visibility  = Visibility.Visible;
                    }
                    else if (_photos.Count == 2)
                    {
                        Smile2.Visibility = Visibility.Hidden;
                        Wait2.Visibility  = Visibility.Visible;
                    }
                    else if (_photos.Count == 3)
                    {
                        Smile3.Visibility = Visibility.Hidden;
                        Wait3.Visibility  = Visibility.Visible;
                    }
                }
                else
                {
                    if (_nbPrints == 4)
                    {
                        FourPictures.Visibility = Visibility.Visible;
                        Photo0.Visibility       = Visibility.Hidden;
                        Photo1.Visibility       = Visibility.Hidden;
                        Photo2.Visibility       = Visibility.Hidden;
                        Photo3.Visibility       = Visibility.Hidden;
                        BackPhoto0.Visibility   = Visibility.Visible;
                        BackPhoto1.Visibility   = Visibility.Visible;
                        BackPhoto2.Visibility   = Visibility.Visible;
                        BackPhoto3.Visibility   = Visibility.Visible;
                        Wait0.Visibility        = Visibility.Visible;
                        Wait1.Visibility        = Visibility.Visible;
                        Wait2.Visibility        = Visibility.Visible;
                        Wait3.Visibility        = Visibility.Visible;
                    }
                    else
                    {
                        Wait.Visibility = Visibility.Visible;
                    }
                }
            }
            else
            {
                WaitDownloadMessage.Visibility = Visibility.Hidden;
                Wait.Visibility  = Visibility.Hidden;
                Wait0.Visibility = Visibility.Hidden;
                Wait1.Visibility = Visibility.Hidden;
                Wait2.Visibility = Visibility.Hidden;
                Wait3.Visibility = Visibility.Hidden;
            }

            if (step != 3 && step != 4)
            {
                Photo.Visibility = Visibility.Hidden;
                if (FacesPrinter.PrinterType.Color == _printer)
                {
                    Photo.Effect  = null;
                    Photo0.Effect = null;
                    Photo1.Effect = null;
                    Photo2.Effect = null;
                    Photo3.Effect = null;
                }
                else
                {
                    GrayscaleEffect.GrayscaleEffect effect = new GrayscaleEffect.GrayscaleEffect();
                    Photo.Effect  = effect;
                    Photo0.Effect = effect;
                    Photo1.Effect = effect;
                    Photo2.Effect = effect;
                    Photo3.Effect = effect;
                }
            }
            else if (_nbPrints == 4)
            {
                FourPictures.Visibility = Visibility.Visible;
            }

            // Step 4
            if (step == 4)
            {
                AskPrintMessage.Visibility = Visibility.Visible;
                PrintButton.Visibility     = Visibility.Visible;
                PrintButton.IsEnabled      = true;
                CancelButton.Visibility    = Visibility.Visible;
                CancelButton.IsEnabled     = true;
            }
            else
            {
                AskPrintMessage.Visibility = Visibility.Hidden;
                PrintButton.Visibility     = Visibility.Hidden;
                PrintButton.IsEnabled      = false;
                CancelButton.Visibility    = Visibility.Hidden;
                CancelButton.IsEnabled     = false;
            }

            // Step 5
            if (step == 5)
            {
                PrintMessage.Visibility = Visibility.Visible;
                Print.Visibility        = Visibility.Visible;
                FourPictures.Visibility = Visibility.Hidden;
                Photo.Visibility        = Visibility.Hidden;
            }
            else
            {
                PrintMessage.Visibility = Visibility.Hidden;
                Print.Visibility        = Visibility.Hidden;
            }

            // Step -1 Error
            if (step == -1)
            {
                FourPictures.Visibility = Visibility.Hidden;
                Photo.Visibility        = Visibility.Hidden;
                ErrorMessage.Visibility = Visibility.Visible;
            }
            else
            {
                ErrorMessage.Visibility = Visibility.Hidden;
            }
        }