unity里读取本地图片的方法
时间: 2023-09-10 18:07:54 浏览: 108
Unity 网络图片加载与本地图片读取demo
3星 · 编辑精心推荐
在Unity中,你可以使用`Texture2D`类来读取本地图片。以下是一个简单的示例代码:
```csharp
using UnityEngine;
public class LoadImage : MonoBehaviour
{
public string filePath;
void Start()
{
// 读取本地图片
Texture2D texture = LoadTexture(filePath);
// 将图片显示到屏幕上
GetComponent<Renderer>().material.mainTexture = texture;
}
// 读取本地图片
private Texture2D LoadTexture(string filePath)
{
Texture2D texture = null;
byte[] fileData;
if (File.Exists(filePath))
{
fileData = File.ReadAllBytes(filePath);
texture = new Texture2D(2, 2);
texture.LoadImage(fileData);
}
else
{
Debug.LogError("文件不存在: " + filePath);
}
return texture;
}
}
```
以上代码中,我们首先定义了一个`filePath`变量来存储图片的路径。在`Start`方法中,我们调用了`LoadTexture`方法来读取本地图片,并将其设置为当前物体的材质贴图。在`LoadTexture`方法中,我们使用`File.Exists`方法检查文件是否存在,如果存在则读取其二进制数据,使用`Texture2D.LoadImage`方法将其转换成`Texture2D`对象。
请注意,此方法可能会导致内存泄漏,因为它创建了一个新的`Texture2D`对象。如果你需要加载多个图片,最好使用对象池来管理已加载的`Texture2D`对象。
阅读全文