[Android]加载外部.9图片
制作.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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。