zoukankan      html  css  js  c++  java
  • Android 截取屏幕图片并保存

    Android市场上有很多屏幕截图软件,把当前屏幕截取出来并保存,这一节我们就来看看屏幕截图的具体实现。

    操作步骤:

      1.创建一片屏幕大小的缓冲区,用于存放屏幕大小的图片

    Bitmap bitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);

      2.获取屏幕顶层View

    View screenView = context.getWindow().getDecorView();

      3.开启绘图缓存并获取屏幕view缓存的Bitmap

    //开启绘图缓存
    screenView.setDrawingCacheEnabled(true);
    //返回屏幕View的视图缓存
    bitmap = screenView.getDrawingCache();

      4.保存得到的bitmap,由于上一篇博客有保存图片的详细步骤,这里就不再赘述了,有需要的朋友可以看上一篇博客

      http://www.cnblogs.com/tony-yang-flutter/p/3560433.html

    下面是屏幕截图的核心代码:

    public void getScreenView(){
            //获取窗口管理类,获取窗口的宽度和高度
            WindowManager windowManager = context.getWindowManager();
            Display display = windowManager.getDefaultDisplay();
            int width = display.getWidth();
            int height = display.getHeight();
            //创建一个Bitmap内存区
            /*
             * Config.ARGB_8888:规定每一个像素占4个字节的存储空间
             * 
             */
            Bitmap bitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
            //获取屏幕
            View screenView = context.getWindow().getDecorView();
            //开启绘图缓存
            screenView.setDrawingCacheEnabled(true);
            //返回屏幕View的视图缓存
            bitmap = screenView.getDrawingCache();
            saveBitmapToSdCard(bitmap);
        }
  • 相关阅读:
    console.dir()和console.log()的区别
    md5
    sorket is closed
    箱形图和小提琴图
    PCA降维
    模式识别与机器学习(二)
    模式识别与机器学习(一)
    论文研读Unet++
    分类中使用的一些评价指标
    前列腺分割论文
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/3560527.html
Copyright © 2011-2022 走看看