WPFでGIFアニメ表示
最近個人的にWPF触ってみてます。
ちゃちゃっとGIFアニメーションを表示したかったんですが、どうやら基本のコンポーネントだと再生できなさそうだったので、まとめときます。
<外部ライブラリ>
WPF Animated GIF
http://wpfanimatedgif.codeplex.com/
手軽だけどフレームレート高いとカクカクになっちゃう感じ
そんなにフレームレート必要なければこれで。Apatch 2.0ライセンスっぽい
<Windowsフォーム>
WindowsフォームにPictureBox貼り付けると良い感じに再生できるので、
XAMLからWindowsフォームを呼んで表示します(Windows Forms Host)
.NET 航海日誌: WPFアプリにアニメーションGIFを表示させる
http://dotnetlogbook.blogspot.jp/2010/12/wpfgif.html
上記ページを参考にしつつ、PictureBoxにResourceの画像を使いたい場合は、
下記のようにBitmapにして設定すればOK。
private void WindowsFormsHost_Loaded(object sender, RoutedEventArgs e) { WindowsFormsHost host = (WindowsFormsHost)sender; PictureBox picBox = (PictureBox)host.Child; StreamResourceInfo streamInfo = System.Windows.Application.GetResourceStream( new Uri("Resources/h0ge.gif", UriKind.Relative)); picBox.Image = (Bitmap)Bitmap.FromStream(streamInfo.Stream); }