当前位置: 代码迷 >> Android >> bit地图转9patch图片出错
  详细解决方案

bit地图转9patch图片出错

热度:74   发布时间:2016-04-28 02:55:06.0
bitmap转9patch图片出错
        遇到一个非常诡异的问题,用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,而并非直接从源文件获得文件信息,此时图片的信息可能缺失了吧.