我需要在我的地鐵應用程序中顯示動畫GIF,但我找不到允許它的任何控件。 (我嘗試了Image
,MediaElement
和MediaPlayer
from Player Framework)WinRT - 在控件中顯示動畫GIF
有沒有可能以某種方式顯示動畫GIF?
我需要在我的地鐵應用程序中顯示動畫GIF,但我找不到允許它的任何控件。 (我嘗試了Image
,MediaElement
和MediaPlayer
from Player Framework)WinRT - 在控件中顯示動畫GIF
有沒有可能以某種方式顯示動畫GIF?
雖然我沒有檢查它是否有效,並且由於空域問題它可能不適用於您 - 您可以嘗試在WebView控件中託管您的gif。這可能比Norbert和Carl提出的更好的解決方案容易得多。
這不能本身做到,但你可以檢查出
http://imagetools.codeplex.com/
它做所有你想要的。 你也可以檢查此
http://blogs.msdn.com/b/jstegman/archive/2009/09/08/silverlight-3-sample-updates.aspx
其中包含一個GIF解碼庫
在這裏你有一個很好的教程如何插入GIF到Metro風格應用程序:
http://advertboy.wordpress.com/2012/05/08/animated-gifs-in-xamlc/
但最簡單的方法就是使用這個項目:
您可以通過在.NET Framework中使用BitmapDecoder類來實現本地化。我在我的博客上有一個示例,演示如何實現能夠從資源gif文件中顯示動畫GIF的AnimationControl。退房:http://www.henrikbrinch.dk/Blog/2013/02/21/Windows-8---GIF-animations--the-RIGHT-way
優秀... !!! –
我剛剛發佈了一個庫來播放動畫GIF:XamlAnimatedGif。你只需要在標準Image
控制設置附加屬性:
<Image gif:AnimationBehavior.SourceUri="/Images/animated.gif" />
(中的xmlns映射xmlns:gif="using:XamlAnimatedGif"
)
在上WPF中,Windows 8.1和Windows Phone 8.1的作品
由於@Filip Skakun說WebView
方法的作品。確定它是「黑客」,但所有這些庫和解碼動作都很慢,動畫閃爍(至少在windows phone中)。使用WebView可以讓您擁有透明背景的GIF動畫。要使用的WebView GIF渲染方法在項目中創建的HTML頁面:
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>gif rendering</title>
<script type="text/javascript">
function SetImageSource(image, source) {
document.getElementById(image).src = source;
};
</script>
<style type="text/css">
html, body
{
-ms-content-zooming:none;
-ms-overflow-style: none;
-ms-scroll-translation: none;
-ms-touch-select: none;
overflow: hidden;
zoom: 100%;
}
</style>
</head>
<body>
<img id="gifPlaceholder" src=""/>
<script>
SetImageSource("gifPlaceholder", window.top.location.search.substring(1));
</script>
</body>
</html>
CSS是很重要的 - 因爲它會禁用變焦/滾動/的WebView的觸摸移動(這是不可取的在大多數情況下)。添加動畫GIF到相同的文件夾(HTML位置)。 XAML代碼:
<WebView Name="gifRendererWebView"
Source="ms-appx-web:///pathToHtmlInProject.html?gifName.gif"
DefaultBackgroundColor="Transparent"/>
唯一的缺點是,你上WebView
佔據區域「失去的手勢」(你不能使用WebViewBrush
,因爲你會失去動畫)。
工作:) 首先,我檢測到GIF的尺寸,然後將webviews的高度和寬度設置爲添加20以避免滾動條。 然後只需將webview的源代碼設置爲gif並且它可以工作:) – Jesse
考慮切換到WebViewBrush。那應該會給你更好的表現 –