unity 获取某个文件夹下的所有图片
2016-06-23 19:26
477 查看
hello ,哈哈,第一次写博客略微有点小激动。在博客里写下自己平常的积累还是不错的,决定以后有的新的问题及解决方案都写出来共享一下。 前几天有朋友问我unity里怎么从某个文件夹下把所有的图片获取到,并且要能随时显示出来,于是我就写了一个如下简单的例子,如有不妥之处望多指教: [csharp] view plain copy using UnityEngine; using System.Collections.Generic; using System.IO; public class LoadImage : MonoBehaviour { // 储存获取到的图片 List<Texture2D> allTex2d = new List<Texture2D> (); // Use this for initialization void Start () { load (); } void OnGUI () { if (allTex2d.Count != 0) { // 把加载的图片显示出来 for (int i = 0; i < allTex2d.Count; i++) { GUILayout.Button (allTex2d [i]); } } } void load () { List<string> filePaths = new List<string> (); string imgtype = "*.BMP|*.JPG|*.GIF|*.PNG"; string[] ImageType = imgtype.Split ('|'); for (int i = 0; i < ImageType.Length; i++) { //获取d盘中a文件夹下所有的图片路径 string[] dirs = Directory.GetFiles (@"d:\\a", ImageType [i]); for (int j = 0; j < dirs.Length; j++) { filePaths.Add (dirs [j]); } } for (int i = 0; i < filePaths.Count; i++) { Texture2D tx = new Texture2D (100, 100); tx.LoadImage (getImageByte (filePaths [i])); allTex2d.Add (tx); } } /// <summary> /// 根据图片路径返回图片的字节流byte[] /// </summary> /// <param name="imagePath">图片路径</param> /// <returns>返回的字节流</returns> private 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; } }
相关文章推荐
- Unity3d制作一个简单的打开保存对话框-按钮2
- unity shader(二)
- Unity Shape sdk 安卓问题
- 深入浅出聊Unity3D项目优化:从Draw Calls到GC
- mysql-community-server installaton
- Unity 脚本生命周期流程图
- 【Unity Shaders】学习笔记——SurfaceShader(五)让纹理动起来
- Unity3d Ar Vuforia +zxing 实现二维码扫描
- Unity HSV色彩模式下 校色Shader
- Unity的HTC VIVE SDK研究(手柄按键功能的研究,比较详细)
- 【Unity技巧】Unity中的优化技术
- Windows7下安装IntelliJ IDEA Community Edition 2016.1.3(64)
- 菜鸟在线教你用Unity3D开发VR版的Hello World
- Unity SteamVR插件集成
- unity平台的预处理
- vuforia 高通 在安卓设备上黑屏花屏的的问题
- unity自带寻路Navmesh入门教程(三)
- Render 优化
- unity自带寻路Navmesh入门教程(二)
- unity自带寻路Navmesh入门教程(一)