public SkillEffects(string gifEffectPath, BattleEngine battleEngine) { _gifEffectPath = gifEffectPath; _battleEngine = battleEngine; _sendTrigger = true; GifImage = new Image { Margin = new Thickness(0, 0, 0, 0), VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center }; string path = Path.Combine(Environment.CurrentDirectory, gifEffectPath); GifImage.IsHitTestVisible = false; GifImage.Stretch = Stretch.UniformToFill; GifImage.Width = 50; GifImage.Height = 50; Panel.SetZIndex(GifImage, 2); ImageSource imageSource = new BitmapImage(new Uri(path)); ImageBehavior.SetAnimatedSource(GifImage, imageSource); ImageBehavior.AddAnimationCompletedHandler(GifImage, AnimationCompletedEvent); ImageBehavior.SetRepeatBehavior(GifImage, new RepeatBehavior(1)); Grid.SetRow(GifImage, 1); BattleEngine.WaitForAnimation = true; //_battleEngine. BattleEngine.BattleWindowUi.Grid.Children.Add(GifImage); }
private void SwitchGifPngAnimate(object sender, RoutedEventArgs e) { //洗版动画Gif图 BitmapImage bitmapImage1 = new BitmapImage(new Uri("pack://application:,,,/Pr60_TestFunction;component/F02_ShowImage/GifImg/trending_animation_s1.gif")); Image imgGif = new Image(); ImageBehavior.SetAnimatedSource(imgGif, bitmapImage1); ImageBehavior.SetRepeatBehavior(imgGif, new RepeatBehavior(1)); grid30.Children.Add(imgGif); ImageAnimationController gifController = null; //******** GetAnimationController will return null if the animation is not yet fully loaded *********** ImageBehavior.AddAnimationLoadedHandler(imgGif, new RoutedEventHandler((s2, e2) => { gifController = ImageBehavior.GetAnimationController(imgGif); })); //静态PNG图 Image imgPng = new Image(); BitmapImage bitmapImage2 = new BitmapImage(new Uri("pack://application:,,,/Pr60_TestFunction;component/F02_ShowImage/GifImg/text display_256x64_1.png")); imgPng.Source = bitmapImage2; imgPng.Visibility = Visibility.Collapsed; grid30.Children.Add(imgPng); //计时器 dispatcherTimer.Interval = new TimeSpan(0, 0, 2); dispatcherTimer.Tick += (object s3, EventArgs e3) => { //grid30.Children[0].Visibility = Visibility.Visible; //grid30.Children[1].Visibility = Visibility.Collapsed; imgGif.Visibility = Visibility.Visible; imgPng.Visibility = Visibility.Collapsed; dispatcherTimer.Stop(); gifController.GotoFrame(0); gifController.Play(); }; ImageBehavior.AddAnimationCompletedHandler(imgGif, new RoutedEventHandler((s1, e1) => { //grid30.Children[0].Visibility = Visibility.Collapsed; //grid30.Children[1].Visibility = Visibility.Visible; imgGif.Visibility = Visibility.Collapsed; imgPng.Visibility = Visibility.Visible; //gifController.Pause(); dispatcherTimer.Start(); })); //dispatcherTimer.Tick += new EventHandler((object s3, EventArgs e3) => PngEnd(s3, e3)); //ImageBehavior.AddAnimationCompletedHandler(imgGif, new RoutedEventHandler((object s1, RoutedEventArgs e1) => GifEnd(s1, e1))); }
private void BtnOnPlay_Click(object sender, RoutedEventArgs e) { int repeatTime = int.Parse(inputTxt.Text); BitmapImage bitmapImage = new BitmapImage(new Uri("pack://application:,,,/Pr60_TestFunction;component/F02_ShowImage/GifImg/theme_2_animation.gif")); Image image = new Image(); ImageBehavior.SetAnimatedSource(image, bitmapImage); grid20.Children.Add(image); ImageBehavior.SetRepeatBehavior(image, new RepeatBehavior(repeatTime)); //var controller = ImageBehavior.GetAnimationController(image); ImageBehavior.AddAnimationCompletedHandler(image, new RoutedEventHandler((sender1, e1) => ComplateTheGIF(sender1, e1))); }
private void BtnMultiGifPlay(object sender, RoutedEventArgs e) { BitmapImage bitmapImage1 = new BitmapImage(new Uri("pack://application:,,,/Pr60_TestFunction;component/F02_ShowImage/GifImg/theme_2_animation.gif")); BitmapImage bitmapImage2 = new BitmapImage(new Uri("pack://application:,,,/Pr60_TestFunction;component/F02_ShowImage/GifImg/Time_information_24.gif")); Image image1 = new Image(); Image image2 = new Image(); ImageBehavior.SetAnimatedSource(image1, bitmapImage1); ImageBehavior.SetAnimatedSource(image2, bitmapImage2); ImageBehavior.SetRepeatBehavior(image1, new RepeatBehavior(1)); ImageBehavior.SetRepeatBehavior(image2, new RepeatBehavior(1)); grid22.Children.Add(image1); ImageBehavior.AddAnimationCompletedHandler(image1, new RoutedEventHandler((s1, e1) => Img1Complete(s1, e1, image2))); ImageBehavior.AddAnimationCompletedHandler(image2, new RoutedEventHandler((s2, e2) => Img2Complete(s2, e2))); }
private void flashSpark() { Image image = new Image(); image.Height = 40; image.Width = 40; Canvas.SetLeft(image, Canvas.GetLeft(checkedButton) - 10); Canvas.SetTop(image, Canvas.GetTop(checkedButton) - 15); canvas.Children.Add(image); BitmapImage bitImage = new BitmapImage(); bitImage.BeginInit(); bitImage.UriSource = new Uri("C:/spark3.gif"); bitImage.EndInit(); ImageBehavior.SetAnimatedSource(image, bitImage); ImageBehavior.SetRepeatBehavior(image, new RepeatBehavior(1)); ImageBehavior.AddAnimationCompletedHandler(image, disposeImage); }
public void flashSpark() { if (checkedButton != null) { Image image = new Image(); image.Height = 40; image.Width = 40; Canvas.SetLeft(image, Canvas.GetLeft(checkedButton) - 10); Canvas.SetTop(image, Canvas.GetTop(checkedButton) - 15); Canvas.SetZIndex(image, 100); canvas.Children.Add(image); BitmapImage bitImage = new BitmapImage(); bitImage.BeginInit(); bitImage.UriSource = new Uri(Environment.CurrentDirectory + @"\Images\Sparks\spark3.gif"); bitImage.EndInit(); ImageBehavior.SetAnimatedSource(image, bitImage); ImageBehavior.SetRepeatBehavior(image, new RepeatBehavior(1)); ImageBehavior.AddAnimationCompletedHandler(image, disposeImage); } }
/// <summary> /// set the animation to only loop once and then callback. /// </summary> public void AnimateOnce() { ImageBehavior.SetRepeatBehavior(this.Image, new RepeatBehavior(1)); ImageBehavior.AddAnimationCompletedHandler(this.Image, this.OnAnimationFinish); }
public void ShowCount(double count) { Show(new RepeatBehavior(count)); ImageBehavior.AddAnimationCompletedHandler(animatedImage, Image_AnimationCompleted); }
public void ShowTime(TimeSpan time) { Show(new RepeatBehavior(time)); ImageBehavior.AddAnimationCompletedHandler(animatedImage, Image_AnimationCompleted); }