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