码迷,mamicode.com
首页 > 编程语言 > 详细

Unity 读取图片方法

时间:2017-12-22 03:53:09      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:col   str   网络   close   []   read   log   path   color   

  • 放在资源文件夹下的图片(本地文件)

    Texture tex = (Texture)Resources.Load("XXX/XXX");

    该方法读取的图片只能是在项目路径下的Resources文件夹下的,如果需要读取其他地址下的图片则需要使用如下两种方式

  • 通过WWW方法读取

    本地及网络文件,本地文件需要加file://前缀

    private IEnumerator GetImage(string path)

    {

            WWW www = new WWW("file://" + path);

            yield return www;

            if (www != null && string.IsNullOrEmpty(www.error))

            {

                    Texture2D texture = new Texture2D(www.texture.width, www.texture.height);

                    texture.SetPixels(www.texture.GetPixels());

                    texture.Apply(true);

                    texture.filterMode = FilterMode.Trilinear;

            }

    }

    WWW方法必须放在协程中执行

  • C# IO方法(本地文件)

    通过C#将文件读取为Byte[]数据,再使用texture.LoadImage进行装填,缺陷在创建Texture时无法获知图片的宽高

       

    Texture2D tx = new Texture2D(100, 100);

    tx.LoadImage(getImageByte(filePath);

       

    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;

    }

       

       

Unity 读取图片方法

标签:col   str   网络   close   []   read   log   path   color   

原文地址:http://www.cnblogs.com/Tuncle/p/8083088.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!