博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android实现截图功能
阅读量:4217 次
发布时间:2019-05-26

本文共 1535 字,大约阅读时间需要 5 分钟。

    在android中实现截图,然后将其保存在sdcard中实现对于自己比较喜欢的网页的一个保存。

public class ShotPicture {

/**
* @param args
*/ 
   /** 
    * 进行截取屏幕   
    * @param pActivity 
    * @return bitmap 
    */  
   public static  Bitmap takeScreenShot(MainActivity pActivity)  
   {  
       Bitmap bitmap=null;  
       View view=pActivity.getWindow().getDecorView();  //该类是用来截图
       // 设置是否可以进行绘图缓存  
       view.setDrawingCacheEnabled(true);  
       // 如果绘图缓存无法,强制构建绘图缓存  
       view.buildDrawingCache();  
       // 返回这个缓存视图   
       bitmap=view.getDrawingCache();   
       // 获取状态栏高度  
       Rect frame=new Rect();  
       // 测量屏幕宽和高  
       view.getWindowVisibleDisplayFrame(frame);  
       int stautsHeight=frame.top;  
       Log.d("torrent", "状态栏的高度为:"+stautsHeight);  
       int width=pActivity.getWindowManager().getDefaultDisplay().getWidth();  
       int height=pActivity.getWindowManager().getDefaultDisplay().getHeight();  
       // 根据坐标点和需要的宽和高创建bitmap  
       bitmap=Bitmap.createBitmap(bitmap, 0, stautsHeight, width, height-stautsHeight);  
       return bitmap;  
   }  
     
   /** 
    * 保存图片到sdcard中 
    * @param pBitmap 
    */  
   public static boolean savePic(Bitmap pBitmap,String strName)  
   {  
     FileOutputStream fos=null;  //定义一个文件输出流对象
     try {  
       fos=new FileOutputStream(strName);  
       if(null!=fos)  
       {  
           pBitmap.compress(Bitmap.CompressFormat.PNG, 90, fos);  
           fos.flush();  
           fos.close();  
           return true;  
       }  
         
   } catch (FileNotFoundException e) {  
       e.printStackTrace();  
   }catch (IOException e) {  
       e.printStackTrace();  
   }  
     return false;  
   }   
   /** 
    * 截图 
    * @param pActivity  
    * @return 截图并且保存sdcard成功返回true,否则返回false 
    */  
   public static boolean shotBitmap(MainActivity pActivity)  
   {  
         
       return  ShotPicture.savePic(takeScreenShot(pActivity), "sdcard/"+System.currentTimeMillis()+".png");  
   }  

         //以当前系统的时间作为所截取图片的名字,格式是png格式

}

转载地址:http://vftmi.baihongyu.com/

你可能感兴趣的文章
内核态与用户态
查看>>
趣链 BitXHub跨链平台 (4)跨链网关“初介绍”
查看>>
C++ 字符串string操作
查看>>
MySQL必知必会 -- 了解SQL和MySQL
查看>>
MySQL必知必会 -- 数据检索
查看>>
MySQL必知必会 -- 排序检索数据 ORDER BY
查看>>
POJ 3087 解题报告
查看>>
POJ 2536 解题报告
查看>>
POJ 1154 解题报告
查看>>
POJ 1661 解题报告
查看>>
POJ 1101 解题报告
查看>>
ACM POJ catalogues[转载]
查看>>
常见的排序算法
查看>>
hdu 3460 Ancient Printer(trie tree)
查看>>
KMP
查看>>
poj 3863Business Center
查看>>
Android编译系统简要介绍和学习计划
查看>>
Android编译系统环境初始化过程分析
查看>>
user2eng 笔记
查看>>
DRM in Android
查看>>