unity3D 中获取android相册中的照片(大小2.5M)存在严重耗时问题(具体见下面的描述)? 10
本人通过byte[]来传输android相册中获取到的图片到unity3D中,通过Texture2Dtexture=newTexture2D(width,height);...
本人通过byte[]来传输android相册中获取到的图片到unity3D中,
通过
Texture2D texture = new Texture2D(width, height);
texture.LoadImage(bytes);//bytes为获取的类型为byte[]的资源。
得到texttrue,LoadImage方法,加log看耗时为3.5秒,
随后将texttrue转换成Sprite
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
Sprite.Create方法加log看耗时为4秒。
然后就是
image.sprite = sprite;即可。
如此加载一张2.5M大小的照片,unity3D这边就耗时达到8秒,很不好用。
(测试如果是800K左右的图片,耗时会缩短到1秒多,很不解。)
请问,有什么其他方法能够获取图片资源,且耗时很短的,不用byte[],还是其他方面的改动?求指教。 展开
通过
Texture2D texture = new Texture2D(width, height);
texture.LoadImage(bytes);//bytes为获取的类型为byte[]的资源。
得到texttrue,LoadImage方法,加log看耗时为3.5秒,
随后将texttrue转换成Sprite
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
Sprite.Create方法加log看耗时为4秒。
然后就是
image.sprite = sprite;即可。
如此加载一张2.5M大小的照片,unity3D这边就耗时达到8秒,很不好用。
(测试如果是800K左右的图片,耗时会缩短到1秒多,很不解。)
请问,有什么其他方法能够获取图片资源,且耗时很短的,不用byte[],还是其他方面的改动?求指教。 展开
展开全部
crop一下,指定一下系统输出的图片bitmap是切剪过的,而且你传过去是可以指定输出图宽高的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也想知道这个怎么弄,您有什么解决办法吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请问一下有没有解决办法呢.. 我也遇到了这个问题..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询