ObjectDisposedException выбрасывается при использовании WritableBitmap
Я пытаюсь преобразовать обработанный поток из 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);