[Android学习笔记二] View转化Bitmap
生活随笔
收集整理的這篇文章主要介紹了
[Android学习笔记二] View转化Bitmap
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ?在View類中的onDraw方法的參數Canvas是View繪制的背景,要將View轉換為Bitmap實際上就是讓Canvas上的繪制操作繪制到Bitmap上。
? ?View轉化為Bitmap也稱為截屏,讓用戶看到的View視圖轉化為圖片的過程。
? ?關于View轉化Bitmap涉及到的View類中的方法有:
? ?下面是常見的幾個View截屏的示例:
??
1.View轉Bitmap
? ?
public?final?Bitmap?screenShot(View?view)?{if?(null?==?view)?{throw?new?IllegalArgumentException("parameter?can't?be?null.");}view.measure(View.MeasureSpec.UNSPECIFIED,?View.MeasureSpec.UNSPECIFIED);view.layout(0,?0,?view.getMeasuredWidth(),?view.getMeasuredHeight());view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap?bitmap?=?view.getDrawingCache();return?bitmap;}??
2. Activity轉Bitmap,不帶狀態欄
public?final?Bitmap?screenShot(Activity?activity)?{if?(null?==?activity)?{throw?new?IllegalArgumentException("parameter?can't?be?null.");}View?view?=?activity.getWindow().getDecorView();view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap?b1?=?view.getDrawingCache();Rect?frame?=?new?Rect();view.getWindowVisibleDisplayFrame(frame);int?statusBarHeight?=?frame.top;Point?point?=?new?Point();activity.getWindowManager().getDefaultDisplay().getSize(point);int?width?=?point.x;int?height?=?point.y;Bitmap?b2?=?Bitmap.createBitmap(b1,?0,?statusBarHeight,?width,?height?-?statusBarHeight);view.destroyDrawingCache();return?b2;}3. ScrollView轉長Bitmap(類似錘子便簽的截長圖)
轉載于:https://blog.51cto.com/aiilive/1711443
總結
以上是生活随笔為你收集整理的[Android学习笔记二] View转化Bitmap的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大容量磁盘分区表、文件系统、分区工具的选
- 下一篇: 自定义Interpolator