Unity 读取图片方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 读取图片方法相关的知识,希望对你有一定的参考价值。

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

    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 读取图片方法的主要内容,如果未能解决你的问题,请参考以下文章

Unity | 读取Resources文件夹中的多个图片音频

unity 打包之后 怎么动态设置texture的参数

unity怎么让贴图序列播放

unity加载本地资源

Unity开发之实现更换鼠标图片

关于Unity中NGUI图片精灵响应鼠标的方法