找回密码
 立即注册
查看: 523|回复: 0

Unity 加载文件夹下所有图片

[复制链接]
发表于 2021-7-16 14:10 | 显示全部楼层 |阅读模式
// 储存获取到的图片       List<Texture2D> allTex2d = new List<Texture2D>();   /// <summary>     /// 读取StremingAssets文件夹指定的文件夹目录下的所有图片进行加载     /// </summary>     /// <param name="path"> StremingAssets文件夹下的文件夹名字 </param>     void Load(string path)     {         List<string> filePaths = new List<string>();         string[] dirs = null;         string imgtype = "*.BMP|*.JPG|*.GIF|*.PNG";         string[] ImageType = imgtype.Split('|');         for (int i = 0; i < ImageType.Length; i++)         {             //获取Application.dataPath文件夹下所有的图片路径               dirs = Directory.GetFiles((Application.streamingAssetsPath+"/" + path), ImageType);             for (int j = 0; j < dirs.Length; j++)             {                 filePaths.Add(dirs[j]);             }                   }          Debug.Log("图片数量:" + dirs.Length);          for (int i = 0; i < filePaths.Count; i++)         {             Texture2D tx = new Texture2D(100, 100);             tx.LoadImage(Tools.GetImageByte(filePaths));             ///获取图片名字,并去除.png 后缀             tx.name = filePaths.Substring(filePaths.LastIndexOf(@"\") + 1, filePaths.LastIndexOf('.')-filePaths.LastIndexOf('\\')-1);             allTex2d.Add(tx);             Debug.Log("Texture2D Name:" + tx.name);         }     }  /// <summary>       /// 根据图片路径返回图片的字节流byte[]       /// </summary>       /// <param name="imagePath">图片路径</param>       /// <returns>返回的字节流</returns>       public static byte[] GetImageByte(string imagePath)     {         FileStream files = new FileStream(imagePath, FileMode.Open);         byte[] imgByte = new byte[files.Length];         files.Read(imgByte, 0, imgByte.Length);         files.Close();         return imgByte;     }
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2025-3-12 10:28 , Processed in 0.216002 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表