Unity 把图片转换成byte
时间: 2024-12-30 12:40:39 浏览: 7
在Unity中,将一张图片转换为`byte`数组通常是为了在网络上传输或存储。你可以使用Unity内置的`Texture2D.EncodeToPNG()`或`Texture2D.EncodeToJPG()`方法,配合`System.IO.MemoryStream`来进行这个操作。以下是简单的步骤:
1. 加载图片到`Texture2D`对象:
```csharp
using UnityEngine.UI;
using System.IO;
public class ImageConverter : MonoBehaviour
{
public Texture2D sourceTexture; // 图片组件的引用
void ConvertImageToBytes()
{
Texture2D tex = sourceTexture; // 获取图片资源
using (MemoryStream ms = new MemoryStream())
{
tex.EncodeToPNG(ms); // 或者使用 EncodeToJPG() 替换 PNG
byte[] imageBytes = ms.ToArray(); // 将内存流内容保存为字节数组
}
// 现在`imageBytes`就是图片的Byte数组
}
}
```
注意,在实际应用中,你可能需要根据需求选择编码格式(PNG或JPEG),并且处理可能出现的异常情况。
阅读全文