游戏蛮牛学习群(纯技术交流,不闲聊):539178957
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

问答求助

关注:547

当前位置:游戏蛮牛 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 147|回复: 7

[脚本] IOS读取沙盒目录图片

[复制链接]  [移动端链接]
排名
20788
昨日变化
9

4

主题

15

帖子

69

积分

Rank: 2Rank: 2

UID
90093
好友
0
蛮牛币
66
威望
0
注册时间
2015-4-7
在线时间
28 小时
最后登录
2018-7-25
发表于 2018-6-1 14:33:52 | 显示全部楼层 |阅读模式
5蛮牛币
file:///C:/Users/zengll/Desktop/%E6%8D%95%E8%8E%B7.JPG我用这个方法加载沙盒目录中的.png图片,原始图片是256*256,读取出来的结果是个问号(?)图片,我尝试输出读取图片的大小,是个8*8大小的图片,安卓和编辑器可以正常读取,IOS就不行,为啥?




回复

使用道具 举报

排名
20788
昨日变化
9

4

主题

15

帖子

69

积分

Rank: 2Rank: 2

UID
90093
好友
0
蛮牛币
66
威望
0
注册时间
2015-4-7
在线时间
28 小时
最后登录
2018-7-25
 楼主| 发表于 2018-6-1 14:35:40 | 显示全部楼层
   //TexturePath = Application.persistentDataPath + "/man1.png";
    Texture2D texture2d_2;
    public void UpdateInfomation(string infomation)
    {
        texture2d_2 = new Texture2D(256, 256, TextureFormat.ARGB32, false);
        //texture2d_2 = new Texture2D(256, 256);
        texture2d_2.LoadImage(ReadPNG(infomation));
        InitModelMat(texture2d_2);
        ErrorDialog.Instance.ShowDialog("当前图片大小信息:" + "[" + texture2d.width + "," + texture2d.height + "]");
        ErrorDialog.Instance.ShowDialog("当前图片格式信息:" + texture2d.format.ToString());
    }
    /// <summary>  
    /// 根据图片路径返回图片的字节流byte[]  
    /// </summary>  
    /// <param name = "imagePath" ></ param >
    /// < returns > 返回的字节流 </ returns >
    static byte[] ReadPNG(string path)
    {

        FileStream fileStream = new FileStream(path, FileMode.Open, System.IO.FileAccess.Read);

        fileStream.Seek(0, SeekOrigin.Begin);

        byte[] binary = new byte[fileStream.Length]; //创建文件长度的buffer   
        fileStream.Read(binary, 0, (int)fileStream.Length);

        fileStream.Close();

        fileStream.Dispose();

        fileStream = null;
        ErrorDialog.Instance.ShowDialog("图片byte流路径:" + path);

        ErrorDialog.Instance.ShowDialog("图片byte流信息:" + binary.Length);


        return binary;
    }
}

回复

使用道具 举报

4四处流浪
374/500
排名
8455
昨日变化
97

1

主题

140

帖子

374

积分

Rank: 4

UID
231366
好友
4
蛮牛币
689
威望
0
注册时间
2017-7-10
在线时间
103 小时
最后登录
2018-8-17
发表于 2018-6-1 16:52:33 | 显示全部楼层
string readAddr;

    void Start()
    {
        readAddr = "file://" + Application.persistentDataPath + "/";

        StartCoroutine(LoadTextureFormLocal(readAddr + name + ".png"));//name是图片的名字
    }
    IEnumerator LoadTextureFormLocal(string name)
    {
        yield return new WaitForSeconds(1.5f);
        WWW www = new WWW(name);
        yield return www;
        if (www.isDone)
        {
            rawImage.texture = www.texture;
        }
    }

回复

使用道具 举报

排名
20788
昨日变化
9

4

主题

15

帖子

69

积分

Rank: 2Rank: 2

UID
90093
好友
0
蛮牛币
66
威望
0
注册时间
2015-4-7
在线时间
28 小时
最后登录
2018-7-25
 楼主| 发表于 2018-6-4 10:25:37 | 显示全部楼层
安生李 发表于 2018-6-1 16:52
string readAddr;

    void Start()

多谢,我测试下。

回复

使用道具 举报

排名
20788
昨日变化
9

4

主题

15

帖子

69

积分

Rank: 2Rank: 2

UID
90093
好友
0
蛮牛币
66
威望
0
注册时间
2015-4-7
在线时间
28 小时
最后登录
2018-7-25
 楼主| 发表于 2018-6-4 18:09:05 | 显示全部楼层
安生李 发表于 2018-6-1 16:52
string readAddr;

    void Start()

结果还是一个4*4的问号图片,安卓就可以,这是什么原因呢,IOS就是不行

回复

使用道具 举报

4四处流浪
374/500
排名
8455
昨日变化
97

1

主题

140

帖子

374

积分

Rank: 4

UID
231366
好友
4
蛮牛币
689
威望
0
注册时间
2017-7-10
在线时间
103 小时
最后登录
2018-8-17
发表于 2018-6-6 09:28:44 | 显示全部楼层
徳马西亚 发表于 2018-6-4 18:09
结果还是一个4*4的问号图片,安卓就可以,这是什么原因呢,IOS就是不行

那就是你路径问题了,代码没问题的

回复

使用道具 举报

排名
20788
昨日变化
9

4

主题

15

帖子

69

积分

Rank: 2Rank: 2

UID
90093
好友
0
蛮牛币
66
威望
0
注册时间
2015-4-7
在线时间
28 小时
最后登录
2018-7-25
 楼主| 发表于 2018-6-6 10:14:27 | 显示全部楼层
安生李 发表于 2018-6-6 09:28
那就是你路径问题了,代码没问题的

我输出日志www.error 和系统日志,如果是路径错了,应该会有异常(文件夹找不到),但是日志没有这些情况。

回复

使用道具 举报

4四处流浪
374/500
排名
8455
昨日变化
97

1

主题

140

帖子

374

积分

Rank: 4

UID
231366
好友
4
蛮牛币
689
威望
0
注册时间
2017-7-10
在线时间
103 小时
最后登录
2018-8-17
发表于 2018-6-6 10:57:57 | 显示全部楼层
徳马西亚 发表于 2018-6-6 10:14
我输出日志www.error 和系统日志,如果是路径错了,应该会有异常(文件夹找不到),但是日志没有这些情况 ...

如果你确定路径没有问题,yield return new WaitForSeconds(1.5f);这句你写了吗?你要给存和取留时间的。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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