写这个好像有瘾,根本停不下来。
Unity要想获得图片尺寸,必须是加载到图片之后才能获取宽高,普通的获取尺寸方式在获取到Texture2D后,通过Texture2D的width、height属性获得。
使用这种方法比较调用简单,如果图片提前加载好的话还可以,如果图片没有加载,需要从外部加载图片,那么可以通过WWW或者直接File读取文件。小图还行,如果是多个1024*1024的大图,卡顿效果还是肉眼可见的。而且不划算,你只不过是想获取到他的尺寸而已,并没有想要显示。那么你就可以换另一种思路去做了。
可以使用FileStream然后自己解析文件。这个速度至少快10倍。
上面这个是对比速度,第二条是自己FileStream自解析得到宽高的时间,第四条是WWW加载获取宽高的时间。