WP8 GifRenderer ArgumentException: значение не попадает в ожидаемый диапазон

У меня проблема с классом GifRenderer. В приложении для Windows Phone 8 моя задача - создать анимированный GIF-файл, начиная со списка изображений PNG, хранящихся в изолированном хранилище приложения, а затем сохранять его и делиться им. Когда в моем коде я вызываю метод GifRenderer.RenderAsync, у меня возникает ArgumentException, значение не попадает в ожидаемый диапазон, как вы можете видеть в следующем коде VB. Где я делаю не так?

Dim images = New List(Of IImageProvider)
Dim image As Picture

Try
    For Each fileName In fileNames
        images.Add(New StorageFileImageSource(Await StorageFile.GetFileFromPathAsync(IO.Path.Combine(ApplicationData.Current.LocalFolder.Path, fileName))))
    Next

    Dim info = Await images(0).GetInfoAsync()
    Using renderer = New GifRenderer()
        renderer.Size = info.ImageSize
        renderer.Sources = images
        renderer.Duration = 1000
        Dim gifBuffer = Await renderer.RenderAsync()
        Dim stream = gifBuffer.AsStream()

        Using library = New MediaLibrary()
            Dim filename = String.Format("{0}+{1}.gif", IO.Path.GetFileNameWithoutExtension(fileNames(0)), fileNames.Count)
            image = library.SavePicture(IO.Path.GetFileName(filename), stream)
        End Using
    End Using

    Dim task = New ShareMediaTask()
    task.FilePath = image.GetPath()
    task.Show()
Catch ex As Exception
    Debug.WriteLine(ex)
    'renderer.RenderAsync() ->
    'System.ArgumentException: Value does not fall within the expected range.
    ' at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    ' at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    ' at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
    ' at WP8.App.VB$StateMachine_0_ShareAnimation.MoveNext()
End Try

0 ответов

Другие вопросы по тегам