/// <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}; }
public GrayscaleImage() { Effect = new GrayscaleEffect.GrayscaleEffect { DesaturationFactor = 1 }; }
public GrayscaleContentPresenter() { Effect = new GrayscaleEffect.GrayscaleEffect { DesaturationFactor = 1 }; }
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); }
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; } }