在Unity中将位图转换为Texture2D
本文关键字:转换 Texture2D 位图 Unity | 更新日期: 2023-09-27 18:16:57
我在Unity中使用AForge.net操纵位图的场景。然而,在Unity中,位图不能应用于纹理,所以我可以看到我的输出,那么这是如何做到的呢?
我相信我必须使用MemoryStream,但是我不知道以什么方式使用。
我设法通过使用内存流来实现这一点,即:
MemoryStream msFinger = new MemoryStream();
bitmapCurrentframeRed.Save(msFinger, bitmapCurrentframeRed.RawFormat);
redCamera.LoadImage(msFinger.ToArray());
redFilter.GetComponent<Renderer>().material.mainTexture = redCamera;
如果bitmapCurrentframeRed是位图,redCamera是一个texture2D, redFilter是一个GameObject(平面),用于查看我的输出。
你可以尝试这些行转换System.Drawing.Bitmap到UnityEngine。Texture2D
Bitmap bmp = new Bitmap;
MemoryStream ms= new MemoryStream();
bmp.Save(ms,ImageFormat.PNG);
var buffer = new byte[ms.Length];
ms.position = 0;
ms.Read(buffer,0,buffer.Length);
Texture2D t = new Texture2D(1,1);
t.LoadImage(buffer);