4
我工作的一個WinRT的應用程序,它會做一些圖像處理和我想要做的事情之一是一些JPG格式或PNG轉換成GIF。我有這樣的作品。對於我的一些測試的JPG文件的工作原理別人這是一個失真的圖像是獲得的輸出。只是想知道是否有一些我錯過了。這是我到目前爲止WinRT的轉換JPG或PNG爲GIF
public async static void ConvertToGif(IRandomAccessStream stream)
{
var decoder = await BitmapDecoder.CreateAsync(stream);
var pixels = await decoder.GetPixelDataAsync();
var file = await KnownFolders.PicturesLibrary.CreateFileAsync("test.gif", CreationCollisionOption.ReplaceExisting);
var outStream = await file.OpenAsync(FileAccessMode.ReadWrite);
var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.GifEncoderId, outStream);
encoder.SetPixelData(decoder.BitmapPixelFormat, BitmapAlphaMode.Ignore,
decoder.PixelWidth, decoder.PixelHeight,
decoder.DpiX, decoder.DpiY,
pixels.DetachPixelData());
await encoder.FlushAsync();
outStream.Dispose();
}
較小的jpgs似乎工作,但較大的jpgs出來炒。是否有另一種方法來實現這一目標?
感謝您與我們分享隊友的! –