Как преобразовать UIElement, который создается в коде позади, в поток, используя C #? - PullRequest
0 голосов
/ 09 апреля 2019

Я создал UIelements динамически в коде без использования Xaml, и мне нужно преобразовать его в поток.Я пытался с RenderTargetBitmap.Но это не работает, есть ли другие возможные способы для этого?

     private async void ConverteToImage(UIElement element, int pageIndex)         
       {

        RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();

        await renderTargetBitmap.RenderAsync(element); // Render canvas.
        var pixelBuffer = await renderTargetBitmap.GetPixelsAsync();
        var logicalDpi = DisplayInformation.GetForCurrentView().LogicalDpi;
        using (var stream = new InMemoryRandomAccessStream())
        {
            var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, stream);
            encoder.SetPixelData(
            BitmapPixelFormat.Bgra8,
            BitmapAlphaMode.Ignore,
            (uint)renderTargetBitmap.PixelWidth,
            (uint)renderTargetBitmap.PixelHeight,
            logicalDpi,
            logicalDpi,
            pixelBuffer.ToArray());
            await encoder.FlushAsync();
            SaveAsCustomStamp(stream.AsStream(), pageIndex, loadedDocument);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...