2016-11-08 82 views
0

我在使用Unity中的AForge.net操作位圖的場景中。但是,一個位圖不能應用於Unity中的紋理,所以我明顯可以看到我的輸出,那麼這是如何完成的?在Unity中將位圖轉換爲Texture2D

我相信我必須使用MemoryStream,但是以什麼樣的方式對我來說是未知的。

+0

僅供參考,image.Save(ms,format);總是崩潰統一,示例代碼:http://stackoverflow.com/a/7350732/5452781,我剛剛結束複製它像素逐個像素..最好將位圖轉換爲byte []數組,並將該數組加載到統一質地。 – mgear

+0

此鏈接對此有幫助嗎? https://forum.unity3d.com/threads/convert-writeablebitmap-to-texture2d-efficiently.210305/ –

+0

也許你只是嘗試複製紋理像素使用https://docs.unity3d.com/ScriptReference/Texture2D .SetPixel.html? –

回答

0

我管理通過使用一個MemoryStream實現這一點,即:

 MemoryStream msFinger = new MemoryStream(); 
     bitmapCurrentframeRed.Save(msFinger, bitmapCurrentframeRed.RawFormat); 
     redCamera.LoadImage(msFinger.ToArray()); 
     redFilter.GetComponent<Renderer>().material.mainTexture = redCamera; 

隨着bitmapCurrentframeRed是一個位圖, redCamera是一個Texture2D和redFilter是一個遊戲對象(平面)用於查看我的輸出。