将Canvas作为子项使用Canvas的最佳方法

时间:2016-06-27 16:28:35

标签: xaml canvas winrt-xaml uwp-xaml

我们目前正在使用Canvas在UI中为WinRT,UWP渲染条形码。我们通过将每个点(QR条形码中的黑点)添加为画布中的路径来实现此目的,在渲染时使用更多时间来显示条形码。以高性能实现这一目标的有效方法是什么。

QR条形码图片:

enter image description here

1 个答案:

答案 0 :(得分:0)

通过将条形码绘制为图像而不是画布,我得到了一个解决方案。

    public WriteableBitmap Render()
    {

        byte[] foreground = new byte[] { 0, 0, 0, 255 };
        byte[] background = new byte[] { 0, 100, 0, 255 };
        WriteableBitmap bmp = new WriteableBitmap(2, 2);

        bmp.PixelBuffer.AsStream().Write(foreground, 0, 4);
        bmp.PixelBuffer.AsStream().Write(background, 0, 4);
        bmp.PixelBuffer.AsStream().Write(foreground, 0, 4);
        bmp.PixelBuffer.AsStream().Write(background, 0, 4);


        bmp.Invalidate();
        return bmp;
    }