私はいくつかの画像処理を行う WinRT アプリケーションに取り組んでおり、やりたいことの 1 つは、いくつかの jpg または png を gif に変換することです。私はそのような作品を持っています。私のテストjpgのいくつかでは、他のものは機能しますが、出力されるのはスクランブルされた画像です。私に欠けているものがあったのだろうかと思っただけです。これが私がこれまでに持っているものです
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();
}
小さい jpg は機能しているように見えますが、大きいものはスクランブルされて出力されます。これを達成する別の方法はありますか?