標籤:android .9 ninepath drawable
製作.9.png圖片
編譯製作好的圖片
NinePathDrawable解析:
public static Drawable decodeStream(Resources resources, InputStream is, Options options) throws IOException{ Bitmap bitmap = BitmapFactory.decodeStream(is); byte[] chunks = bitmap.getNinePatchChunk(); boolean isNinePatchChunk = NinePatch.isNinePatchChunk(chunks); Log.v(TAG, "isNinePatchChunk:"+isNinePatchChunk); if(!isNinePatchChunk){ return new BitmapDrawable(resources, bitmap); }else { Rect padding = new Rect(); padding.left = getInt(chunks, 12); padding.right = getInt(chunks, 16); padding.top = getInt(chunks, 20); padding.bottom = getInt(chunks, 24); return new NinePatchDrawable(resources, bitmap, chunks, padding, null); } } private static int getInt(byte[] chunk, int from) { int result = 0; result = ((result << 8) | (chunk[from + 3] & 0xFF)); result = ((result << 8) | (chunk[from + 2] & 0xFF)); result = ((result << 8) | (chunk[from + 1] & 0xFF)); result = ((result << 8) | (chunk[from + 0] & 0xFF)); return result; }
本文出自 “JackyAnngo” 部落格,請務必保留此出處http://jackyanngo.blog.51cto.com/5263823/1614542
[Android]載入外部.9圖片