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);
}
QLOOKアクセス解析