2016-06-27 43 views
1

我們目前正在使用畫布來呈現在WinRT,UWP UI的條碼。我們通過在畫布中添加每個點(QR條形碼中的黑點)作爲路徑來實現此目的,渲染使用更多時間來顯示條形碼。什麼是以高性能實現這一目標的有效方法。最好的方式使用畫布作爲兒童的許多路徑

QR條碼圖像:

enter image description here

+1

將一次渲染到屏幕外畫布,然後在需要時渲染該畫布。或者可能使用Path2D界面https://developer.mozilla.org/en-US/docs/Web/API/Path2D – Blindman67

+1

使用[WriteableBitmap](https://msdn.microsoft.com/en-us/library/窗口/應用/ br243259)? – Clemens

+1

zxing圖書館爲您提供圖像。你知道嗎? –

回答

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; 
    }