ObjectDisposedException выбрасывается при использовании WritableBitmap - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь преобразовать обработанный поток из RenderTargetBitmap в записываемое растровое изображение.Я использовал приведенный ниже код при нажатии кнопки и преобразовал поток в растровое изображение.Если непрерывное преобразование растрового изображения означает, что оно выдает ObjectDisposedException.

Фрагмент кода

   RenderTargetBitmap rendererShapeViewBitmap = new RenderTargetBitmap();
        InMemoryRandomAccessStream renderedStream = new InMemoryRandomAccessStream();
        await rendererShapeViewBitmap.RenderAsync(button, (int)button.Width, (int)button.Height);
        BitmapEncoder encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, renderedStream);
        IBuffer pixelBuffer = await rendererShapeViewBitmap.GetPixelsAsync();
        var dataWriter = new Windows.Storage.Streams.DataWriter(renderedStream);
        int heiht = rendererShapeViewBitmap.PixelHeight;
        int width = rendererShapeViewBitmap.PixelWidth;
        encoder.SetPixelData(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Premultiplied,
            (uint)rendererShapeViewBitmap.PixelWidth, (uint)rendererShapeViewBitmap.PixelHeight, 96, 96, pixelBuffer.ToArray());
        await encoder.FlushAsync();

        var bitmap1 = new WriteableBitmap(width, heiht);
        bitmap1.SetSource(renderedStream);

        var bitmap2 = new WriteableBitmap(width,heiht);
        bitmap2.SetSource(renderedStream);
...