繁体   English   中英

如何在Unity C#中将图像添加到列表中?

[英]How can I add an image into a list in Unity C#?

我正在尝试将图像的多个文件夹索引到多个列表中。 目前,我尝试使用System.IODirectoryInfoFileInfo要做到这一点,但我的列表“类型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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM