Unity读取Android本地图片

unity读取Android本地图片

一、安卓读取路径

安卓路径:"file:///storage/emulated/0/"+自己图片的路径

例:"file:///storage/emulated/0/small.jpg"

二、unity搭建

使用UI简单搭个界面

三、新建一个脚本

代码内容如下

csharp 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;
using UnityEngine.Android;

public class Test : MonoBehaviour
{
    string url;
    public InputField input;
    public Button btn;
    public RawImage im;
    void Start()
    {
#if UNITY_ANDROID
        //安卓平台要请求从外部设备读写权限,如果安装后通过了权限请求,则以后这个APP就不会弹出请求权限框
        //但若安装后请求多次权限,都不通过,则多次后就不会弹出请求权限框

        //请求从 (SD 卡等)外部存储读取的权限
        if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageRead))
        {
            Permission.RequestUserPermission(Permission.ExternalStorageRead);
        }

        //请求 写入外部存储(如 SD 卡)的权限       
        if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageWrite))
        {
            Permission.RequestUserPermission(Permission.ExternalStorageWrite);
        }
#endif
        btn.onClick.AddListener(BtnOnClick);
        url = "file:///storage/emulated/0/small.jpg";
    }

    public void BtnOnClick()
    {
        url = input.text;
        StartCoroutine(getMap());
    }
    IEnumerator getMap()
    {
        UnityWebRequest webRequest = UnityWebRequestTexture.GetTexture(url);
        yield return webRequest.SendWebRequest();
        //等待请求完成
        while (!webRequest.isDone)
        {
            yield return null;
        }
        if (string.IsNullOrEmpty(webRequest.error))
        {
            Texture2D texture2D = DownloadHandlerTexture.GetContent(webRequest);
            if (texture2D)
            {
                im.texture = texture2D;
            }
        }
        else
        {
            Debug.Log("失败");
        }
    }
}

四、手机根目录下放一张small.jpg图片

五、打开程序

点击Button按钮读取,读取成功显示图片

相关推荐
编程、小哥哥18 分钟前
python操作mysql
android·python
Couvrir洪荒猛兽1 小时前
Android实训十 数据存储和访问
android
五味香3 小时前
Java学习,List 元素替换
android·java·开发语言·python·学习·golang·kotlin
十二测试录4 小时前
【自动化测试】—— Appium使用保姆教程
android·经验分享·测试工具·程序人生·adb·appium·自动化
Xing20174 小时前
unity打包ios Xcode问题记录
unity·游戏引擎
Couvrir洪荒猛兽5 小时前
Android实训九 数据存储和访问
android
aloneboyooo6 小时前
Android Studio安装配置
android·ide·android studio
Jacob程序员6 小时前
leaflet绘制室内平面图
android·开发语言·javascript
2401_897907867 小时前
10天学会flutter DAY2 玩转dart 类
android·flutter
m0_748233647 小时前
【PHP】部署和发布PHP网站到IIS服务器
android·服务器·php