[英]How can I add an image into a list in Unity C#?
我正在尝试将图像的多个文件夹索引到多个列表中。 目前,我尝试使用System.IO
的DirectoryInfo
和FileInfo
要做到这一点,但我的列表“类型Texture2D
,所以它不能将它们转换。 那么如何将这些图像添加到列表中?
相关代码:
using UnityEngine.UI;
using System.IO;
public List<Texture2D> daytimeImages = new List<Texture2D>();
private void Start() {
DirectoryInfo daytimeDirectory = new DirectoryInfo(daytimePath);
FileInfo[] daytimePictures = nighttimeDirectory.GetFiles();
foreach (FileInfo file in nighttimePictures)
{
daytimeImages.Add(file);
}
}
从这里的答案之一
此函数可能会为您提供帮助,它使用LoadImage函数将图像从文件路径转换为Texture2d:
public static Texture2D LoadImage(string filePath)
{
Texture2D tex = null;
byte[] fileData;
if (File.Exists(filePath)) //you can skip this since you are only passing files that exist
{
fileData = File.ReadAllBytes(filePath);
tex = new Texture2D(2, 2);
tex.LoadImage(fileData);
}
return tex;
}
您可以按以下方式使用它(已编辑以添加.FullName )
foreach (FileInfo file in nighttimePictures)
{
daytimeImages.Add(LoadImage(file.FullName)); //edited
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.