WPF:播放GIF很傷神!

WPF:播放GIF很傷神!

今天介紹一個用於在 WPF 中顯示動態 GIF 圖片的庫,可在 XAML 或程式碼中使用:`WpfAnimatedGif`。

最後更新 2021/7/2 下午10:12
沙漠尽头的狼
預計閱讀 2 分鐘
分類
WPF
專題
WPF開源專案
標籤
.NET WPF WPF開源專案 開源 GIF

為 WPF 播放 GIF 傷腦筋嗎?

WpfAnimatedGif

倉庫位址:https://github.com/XamlAnimatedGif/WpfAnimatedGif

NuGet 套件:WpfAnimatedGif

今天介紹一個用於在 WPF 中顯示動態 GIF 圖片的程式庫,可在 XAML 或程式碼中使用:WpfAnimatedGif

簡單易用:在 XAML 中,使用 AnimatedSource 附加屬性設定要顯示的 gif 圖片(取代 Source 屬性):

<Window
  x:Class="WpfAnimatedGif.Demo.MainWindow"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:gif="http://wpfanimatedgif.codeplex.com"
  Title="MainWindow"
  Height="350"
  Width="525"
>
  <Grid> <image gif:ImageBehavior.AnimatedSource="Images/animated.gif" /></Grid
></Window>

您還可以指定重複行為(預設為 0x,這表示它將使用來自 GIF 中繼資料的重複計數):

<image
  gif:ImageBehavior.RepeatBehavior="3x"
  gif:ImageBehavior.AnimatedSource="Images/animated.gif"
/>

當然,您也可以在程式碼中設定 gif 圖片:

var image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(fileName);
image.EndInit();
ImageBehavior.SetAnimatedSource(img, image);

有關使用的更多詳細資訊,請參閱 wiki

特色

  • 未增加新的控制項,在 WPF 原生的 Image 控制項中加入附加屬性即實現了 gif 圖片動態載入功能
  • 考慮實際畫面持續時間
  • 可以指定重複行為;如果未指定,則使用來自 GIF 中繼資料的重複計數
  • 動畫播放完成時可通知,可用於動畫完成後做一些特定的事
  • 設計模式下的動畫預覽(必須明確啟用)
  • 支援手動控制動畫(暫停/恢復/跳轉)
繼續探索

延伸閱讀

更多文章
同分類 / 同標籤 2025/1/26

WPF 藉助自訂 XML 檔案實現國際化

本文詳細介紹了在WPF程式中使用自訂XML檔案實現國際化的方法,包括安裝必備NuGet套件、動態獲取語言清單、動態切換語言、在程式碼和XAML介面中使用翻譯字串等內容,同時提供了原始碼連結,幫助開發者輕鬆實現WPF應用程式的國際化。

繼續閱讀