0
後,我有一些麻煩,此代碼:C#WPF UI凍結使用的MemoryStream
private Bitmap WriteableBitmapToBitmap(WriteableBitmap wb)
{
BitmapEncoder encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(wb));
using (MemoryStream ms = new MemoryStream())
{
encoder.Save(ms);
Bitmap b = new Bitmap(ms);
return b;
}
}
如果我開始這段代碼中,WPF UI凍結。我只想將WriteableBitmap轉換爲位圖,以便我可以將它用於Emgu圖片處理。 WriteableBitmap是從Kinect的Depthdata創建的。我是編程新手,所以肯定有更好的方法,但我希望這也能起作用。
任何人都可以幫助我解決這個問題嗎?
如果UI凍結並不意味着代碼是錯誤的,這意味着你不應該在UI線程中執行它;你應該在非UI線程中做長時間運行的UI工作。關於如何將工作轉移到非UI線程有一百萬個參考。 – Servy
好的,謝謝,我會檢查一下。 – AcBx
冷凍不會是我期望的典型結果。但是代碼當然是錯誤的,只要Bitmap對象是生命的,就不能丟棄MemoryStream。它需要能夠稍後訪問流。刪除*使用*語句。 –