在Windows Store中下載了一個有意思的應用,叫做Flipflop (http://apps.microsoft.com/windows/app/flipflop/99c01512-fe4f-4d1a- 872e-eb9fd6638ff4),該應用允許使用者建立翻頁式動畫效果(Flipbook Animation), 並且可以匯出動畫為GIF檔案。在MSDN看到一篇介紹該項目的技術 文章,分享給大家。
Flipflop項目中,作者使用Windows Imaging Component(WIC)實現建立圖片 (MSDN查看Windows 8 WIC新特性),
在項目中引用Windows.Graphics命名空間,在該空間中包含BitmapEncoder類 (MSDN),通過該類可以建立特定的圖片編碼,例如GifEncoder。
通過代碼查看工具,可以看到作者建立一個共用類"GifMaker"實現 動畫幀的定義,
using System;using System.Collections.Generic;using System.Runtime.InteropServices.WindowsRuntime;using Windows.Foundation;using Windows.Graphics.Imaging;using Windows.Storage; namespace Utilities{ public sealed class GifMaker { readonly List<byte[]> frames = new List<byte[]>(); private readonly uint frameWidth; private readonly uint frameHeight; public GifMaker(uint width, uint height) { frameWidth = width; frameHeight = height; } public void AppendNewFrame([ReadOnlyArray]byte[] frame) { frames.Add(frame); }