遇到一个非常诡异的问题,用android sdk工具制造了一张9patch图片。
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.background);
byte[] chun = bitmap.getNinePatchChunk();
boolean bool = NinePatch.isNinePatchChunk(chun);
此时bool ==true
但是把这种图片放到assets目录下:
InputStream ips = getAssets().open("background.9.png");
bitmap = BitmapFactory.decodeStream(ips);
chun = bitmap.getNinePatchChunk();
bool = NinePatch.isNinePatchChunk(chun);
此时bool ==false
不知道为什么从assets中获取就不是9patch图片了,但是他还是一个bitmap图片,能显示,完全没有问题。有谁遇到过不是9patch图片这个问题?
------解决思路----------------------
id查找,以名找,所以,是肯定没问题的.
在asset中,文件以流的形式读入,然后再把流转换成bitmap,而并非直接从源文件获得文件信息,此时图片的信息可能缺失了吧.