android从sdcard加载.9.png图片

必须配置好android sdk, aapt工具可以用

1, 首先需要将test.9.png编译成NinePatch图片,需要使用andorid二进制资源编译器abrc, 另外需要将test.9.png放到一个android工程(TestProject)的res/drawable/目录下;

     命令: abrc compile workspace/TestProject  ./  res/drawable/test.9.png

     结果: 结果图会在当前目录下的res/drawable/下

     可能的错误: W/asset   (17428): Asset path /home/xxx/work/android-sdk/adt-bundle-linux/sdk/android.jar is neither a directory nor file (type=1).

ERROR: Asset package include '/home/xxx/work/android-sdk/adt-bundle-linux/sdk/android.jar' not found.

      将sdk目录下的android.jar拷贝到/home/xxx/work/android-sdk/adt-bundle-linux/sdk/


2,  decode test.9.png to bitmap

         Bitmap bitmap= BitmapFactory.decodeFile(FILE_PATH+"/"+"test.9.png");

3,     生成NinePatchDrawable

         NinePatchDrawable nineDrawable= null;
         byte[] chunk = bitmap.getNinePatchChunk();  // 如果.9.png没有经过第一步,那么chunk就是null
         if(NinePatch.isNinePatchChunk(chunk)) {
                 NinePatchDrawable patchy = new NinePatchDrawable(bitmap, chunk, new Rect(), null);  
         }

你可能感兴趣的:(android)