【问题标题】:Convert a Bitmap to a Texture2D in Unity在 Unity 中将位图转换为 Texture2D
【发布时间】:2019-02-21 17:12:37
【问题描述】:

我正在使用 Unity 中的 AForge.net 操作位图的场景。但是,在 Unity 中无法将 Bitmap 应用于纹理,所以我可以明显看到我的输出,那么这是如何完成的呢?

我相信我必须使用 MemoryStream,但我不知道以什么方式。

【问题讨论】:

标签: c# unity3d


【解决方案1】:

您可以尝试这些行将 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);

【讨论】:

    【解决方案2】:

    我设法通过使用内存流来实现这一点,即:

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

    由于 bitmapCurrentframeRed 是位图, redCamera 是一个 texture2D,redFilter 是一个用于查看我的输出的 GameObject(plane)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-28
      相关资源
      最近更新 更多