2017-08-04 69 views
2

所以我創建了一個包含InkCanvas的UWP應用程序,因此我想將內容作爲變量存儲,以便我可以在菜單中顯示畫布預覽。SoftwareBitmap與BitmapImage比較

我的問題是,什麼是最好的bitmap使用,因爲似乎有很多選項。

SoftwareBitmap被包括在Windows.Graphics.Imaging,而BitmapImageWindows.UI.XAML.Media.Imaging,這兩者在UWP應用是可用的一部分。

用於顯示圖像的UWP Image類可以使用這些格式之一嗎?

哪個最合適在我的情況?

+0

「用於顯示圖像的UWP圖像類是否可以使用這些格式之一」。你可以很容易地找到。只要檢查位圖類是否來自'ImageSource',它是Image控件的'Source'屬性的類型。任何是ImageSource的東西都可以分配給該屬性。哪個最合適取決於您創建或操作位圖的方式。 – Clemens

回答

0

因此,做了很多實驗,似乎與Windows.UI.XAML.ControlsImage控件一起使用,SoftwareBitmap運行良好。

SoftwareBitmapSource可以被分配給Image.Source,所提供的具有SoftwareBitmapBitmapPixelFormat.Bgra8BitmapAlphaMode.Premultiplied(或BitmapAlphaMode.None)。從SoftwareBitmapSource頁面上的備註部分:

一個SoftwareBitmap顯示在XAML應用程序必須與預乘alpha值

所有作品很好BGRA像素格式,現在對縮放工作位圖縮小,因爲InkCanvasImage之間的大小差異使得縮略圖/預覽看起來很差。

+0

有關如何調整WriteableBitmap大小的示例,請參閱[本答案](https://stackoverflow.com/a/45393902/1136211)。 – Clemens