我想创建类似 animateit.net/categories.php?cat_id=218&page=11 - Frog Gets Spider Animated Gif ...
我有单独的青蛙图像、舌头图像和虫子图像,但无法使用 WPF 将其放入动画中。
关于如何做的任何想法?
如果您想在代码隐藏中为图像设置动画,您将对其进行如下设置:
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....
}
}
这将循环显示图像并每半秒更新一次帧。根据您认为最合适的方式调整值。