android——自定义截图(加水印、logo等)
2017-12-12 10:29
549 查看
/** * 获取指定Activity的截屏,保存到png文件 */ public static Bitmap takeScreenShot(Activity activity) { // View是你需要截图的View View view = activity.getWindow().getDecorView(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap b1 = view.getDrawingCache(); // 获取状态栏高度 // Rect frame = new Rect(); // activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); // int statusBarHeight = frame.top; int statusBarHeight = getStatusHeight(activity); // 获取屏幕长和高 int width = activity.getWindowManager().getDefaultDisplay().getWidth(); int height = activity.getWindowManager().getDefaultDisplay() .getHeight(); //二维码图片 Bitmap erweima = BitmapFactory.decodeResource(activity.getResources(), R.drawable.icon_erweima); erweima = Bitmap.createScaledBitmap(erweima, width, width / 5, true); // 去掉标题栏 // Bitmap b = Bitmap.createBitmap(b1, 0, 25, 320, 455); Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height - statusBarHeight); view.destroyDrawingCache(); Bitmap bitmap = Bitmap.createBitmap(width, height - statusBarHeight + width / 5, Bitmap.Config.ARGB_8888); final Canvas canvas = new Canvas(bitmap); Paint paint = new Paint(); Paint bgPaint = new Paint(); bgPaint.setColor(Color.parseColor("#1e4873")); Rect rect = new Rect(0, 0, width, height - statusBarHeight + width / 5); canvas.drawRect(rect, bgPaint); int h = 0; canvas.drawBitmap(b, 0, h, paint); h += height - statusBarHeight; canvas.drawBitmap(erweima, 0, h, paint); // savePic(bitmap, "/sdcard/screen_test.png"); return bitmap; }
获取状态栏高度:
http://www.cnblogs.com/shoneworn/p/8026587.html
相关文章推荐
- android实现自定义相机以及图片的水印
- 1.3、编译自定义(自定义logo、去水印)-jwplayer-V6.8
- 调用android系统的图库以及截图来让用户自定义界面背景
- Android截图以及加水印Demo
- 【Android调试笔记】Logo及Animation自定义
- Android自定义相机,带边框截图
- android自定义相机添加自定义水印
- Android 自定义区域截图实现
- Android 自定义照相机拍照截图并仿照nice添加标签
- Android 同一手机上安装不同版本debug和release同时存在,logo名称自定义
- android不通过自定义layout,修改通知logo
- Android自定义相机,带边框截图
- ArcGIS for Android去掉水印和logo
- Android截图以及加水印Demo .
- android监听截图事件,生成自定义截图图片
- Android 给图片加上水印的示例代码(支持logo+文字)
- android之利用surfaceView实现自定义水印相机
- Android开发自定义水印图片
- Android-自定义Google logo及区域处理
- Android截图以及加水印Demo