0

我想创建类似 animateit.net/categories.php?cat_id=218&page=11 - Frog Gets Spider Animated Gif ...

我有单独的青蛙图像、舌头图像和虫子图像,但无法使用 WPF 将其放入动画中。

关于如何做的任何想法?

4

1 回答 1

0

如果您想在代码隐藏中为图像设置动画,您将对其进行如下设置:

MyImage 是您显示“gif”的位置。FrogImage 只是青蛙的图像。TongueImage 是舌头出来的图像。BugImage 是带有虫子的青蛙的图像。

首先,像这样初始化一个计时器,可能在“MainWindow()”或全局级别:

DispatcherTimer tmrBlinkImage = new DispatcherTimer()
            { IsEnabled = false, Interval = TimeSpan.FromMilliseconds(500) };
tmrBlinkImage.Tick += new EventHandler(tmrBlinkImage_Tick);
public int _ImageBlinkIndex = 0;

然后,像这样设置事件处理程序:

private void tmrBlinkImage_Tick(object sender, EventArgs e)
{
    try
    {
        if (null == MyImage)
            return;

        if (MyImage.IsDisposed)
            return;

        switch (_ImageBlinkIndex)
        {
            case 0:
                if (MyImage.Source != FrogImage)
                    MyImage.Source = FrogImage;

                _ImageBlinkIndex++;
                break;
            case 1:
                if (MyImage.Source != TongueImage)
                    MyImage.Source = TongueImage;

                _ImageBlinkIndex++;

                break;
            case 2:
                if (MyImage.Source != BugImage)
                    MyImage.Source = BugImage;

                _ImageBlinkIndex = 0;
                break;
            default:
                _ImageBlinkIndex = 0;
                break;
        }
    }
    catch (Exception ex)
    {
        tmrBlinkImage.Stop();
        //woops....
    }
}

这将循环显示图像并每半秒更新一次帧。根据您认为最合适的方式调整值。

于 2013-06-06T20:36:49.063 回答