1.在获取图片前先调用setDrawingCacheEnabled(true)这个方法:
举例:mImageView.setDrawingCacheEnabled(true);
2。之后可以通过getDrawingCache()获取图片
举例:Bitmap obmp = Bitmap.createBitmap(mImageView.getDrawingCache()); //获取到Bitmap的图片
3.获取完图片后记得调用setDrawingCacheEnabled(false)
举例:mImageView.setDrawingCacheEnabled(false);
这样就可以。
补充:如果你遇到了这行代码Bitmap obmp = Bitmap.createBitmap(mImageView.getDrawingCache());报空指针错误!!!!!!
解决办法:
在这之前添加下面的代码
mImageView.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
mImageView.layout(0, 0, mImageView.getMeasuredWidth(), mImageView.getMeasuredHeight());
mImageView.buildDrawingCache();
网友评论