2828sea

一:注意事项:

1 .WPF项目的图片资源,一定要做如下操作

  • .将图片生存操作设置为始终复制

    如果不进行如下设置,本地的图片不会在Image控件中显示

二:使用的技术:

  1. 使用了Thread线程:用来循环更换图片
  2. 使用DoubleAnimation:用来实现图片的淡入和淡出
  3. 使用DispatcherFrame: 实现线程等待

三:核心代码

         /// <summary>
        /// 设置延迟方法
        /// </summary>
        /// <param name="mm"></param>
        public void Delay(int mm)
        {
            DateTime current = DateTime.Now;
            while (current.AddMilliseconds(mm) > DateTime.Now)
            {
                DispatcherHelper.DoEvents();
            }
            return;
        }
/// <summary>
        /// Image的动画效果
        /// </summary>
        public void SetImage()
        {
            DoubleAnimation daV2 = new DoubleAnimation(1, 0, new Duration(TimeSpan.FromSeconds(1)));
            DoubleAnimation daV = new DoubleAnimation(1, 1, new Duration(TimeSpan.FromSeconds(1)));
            Image1.BeginAnimation(UIElement.OpacityProperty, daV2);
            Delay(500);

            Image1.Source = new BitmapImage(new Uri("/Images/" + i + ".png", UriKind.Relative));
            Image1.BeginAnimation(UIElement.OpacityProperty, daV);
            Delay(500);
        }
 /// <summary>
        /// 线程
        /// </summary>
        public void Start()
        {
            while (true)
            {
                if (flag)
                {

                    int num = random.Next(1, 6);
                    if (i == num)
                    {
                        if (num == 5)
                        {
                            num = 1;
                        }
                        else
                        {
                            num += 1;
                        }
                    }
                    i = num;
                    ChangeImage change = new ChangeImage(SetImage);
                    //异步给Image1赋值
                    Image1.Dispatcher.BeginInvoke(change);
                    Delay(1000);
                }
            }
        }

四:效果展示

五:源码地址
源码地址

分类:

C#

技术点:

相关文章:

  • 2021-03-28
  • 2021-04-23
  • 2021-12-02
  • 2021-11-27
  • 2021-11-21
  • 2021-11-21
  • 2021-11-22
猜你喜欢
  • 2021-09-27
  • 2021-12-08
  • 2021-11-12
  • 2021-08-03
  • 2021-12-27
  • 2021-05-27
相关资源
相似解决方案