C# WPF gif 黑色背景
C# WPF gif black background
我对 MediaElement 中的 Gif 动画有疑问。动画没问题,但透明背景是黑色的,而且我看到所有其他帧。我试了其他的Gif也是一样。
这是我的 MediaElement:
<MediaElement x:Name="myGif"
Height="100" HorizontalAlignment="Left"
Width="100" VerticalAlignment="Top"
Margin="100,100,0,0"
MediaEnded="myGif_MediaEnded"
UnloadedBehavior="Manual"
LoadedBehavior="Play"
Source="animation.gif" Stretch="Fill"/>
当我使用图像标签时 - 透明是可以的,但令人惊讶的是动画不起作用。
您可以考虑为此使用一个小库。 Thomas Levesque 创建了一个 WpfAnimatedGif,它可以作为 Nuget 包使用。只需在程序包管理器控制台中键入以下内容:
Install-Package WpfAnimatedGif
PM> Install-Package WpfAnimatedGif
Installing 'WpfAnimatedGif 1.4.13'.
Successfully installed 'WpfAnimatedGif 1.4.13'.
Adding 'WpfAnimatedGif 1.4.13' to AnimatedGIF.
Successfully added 'WpfAnimatedGif 1.4.13' to AnimatedGIF.
然后让我们定义一个小的 GUI 来测试这个库:
<Window x:Class="AnimatedGIF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Hypnotize"
xmlns:wpfanimated="http://wpfanimatedgif.codeplex.com"
Height="350" Width="525">
<Grid>
<Image wpfanimated:ImageBehavior.AnimatedSource="a_transparent_gif.gif"
wpfanimated:ImageBehavior.RepeatBehavior="1"
wpfanimated:ImageBehavior.AnimateInDesignMode="False"
wpfanimated:ImageBehavior.AutoStart="True"
Height="300" />
</Grid>
</Window>
这里我们使用图像控件并应用库作为附件提供的功能 属性。 Github 页面上提供了源代码:
https://github.com/thomaslevesque/WpfAnimatedGif/blob/master/WpfAnimatedGif/ImageBehavior.cs
我在这里提供了一个示例解决方案:
现在我们都忘记了动画 GIF 曾经被认为是多么酷吗?
我对 MediaElement 中的 Gif 动画有疑问。动画没问题,但透明背景是黑色的,而且我看到所有其他帧。我试了其他的Gif也是一样。
这是我的 MediaElement:
<MediaElement x:Name="myGif"
Height="100" HorizontalAlignment="Left"
Width="100" VerticalAlignment="Top"
Margin="100,100,0,0"
MediaEnded="myGif_MediaEnded"
UnloadedBehavior="Manual"
LoadedBehavior="Play"
Source="animation.gif" Stretch="Fill"/>
当我使用图像标签时 - 透明是可以的,但令人惊讶的是动画不起作用。
您可以考虑为此使用一个小库。 Thomas Levesque 创建了一个 WpfAnimatedGif,它可以作为 Nuget 包使用。只需在程序包管理器控制台中键入以下内容:
Install-Package WpfAnimatedGif
PM> Install-Package WpfAnimatedGif
Installing 'WpfAnimatedGif 1.4.13'.
Successfully installed 'WpfAnimatedGif 1.4.13'.
Adding 'WpfAnimatedGif 1.4.13' to AnimatedGIF.
Successfully added 'WpfAnimatedGif 1.4.13' to AnimatedGIF.
然后让我们定义一个小的 GUI 来测试这个库:
<Window x:Class="AnimatedGIF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Hypnotize"
xmlns:wpfanimated="http://wpfanimatedgif.codeplex.com"
Height="350" Width="525">
<Grid>
<Image wpfanimated:ImageBehavior.AnimatedSource="a_transparent_gif.gif"
wpfanimated:ImageBehavior.RepeatBehavior="1"
wpfanimated:ImageBehavior.AnimateInDesignMode="False"
wpfanimated:ImageBehavior.AutoStart="True"
Height="300" />
</Grid>
</Window>
这里我们使用图像控件并应用库作为附件提供的功能 属性。 Github 页面上提供了源代码:
https://github.com/thomaslevesque/WpfAnimatedGif/blob/master/WpfAnimatedGif/ImageBehavior.cs
我在这里提供了一个示例解决方案:
现在我们都忘记了动画 GIF 曾经被认为是多么酷吗?