博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 屏幕截图 代码
阅读量:6387 次
发布时间:2019-06-23

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

本文来自:

        我们大家都在用电脑的时候,用过截屏的功能,有的时候截屏给我们带来了很多的方便,那么我们现在怎么样才能在android中实现这个功能那,下面我们就用代码来实现这个对我们很方便的功能。

java代码:

import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Rect; import android.view.View; public class ScreenShot { // 获取指定Activity的截屏,保存到png文件 private 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; System.out.println(statusBarHeight); //获取屏幕长和高 int width = activity.getWindowManager().getDefaultDisplay().getWidth(); int height = activity.getWindowManager().getDefaultDisplay().getHeight(); //去掉标题栏 //Bitmap b = Bitmap.createBitmap(b1, 0, 25, 320, 455); Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height - statusBarHeight); view.destroyDrawingCache(); return b; } //保存到sdcard private static void savePic(Bitmap b,String strFileName){ FileOutputStream fos = null; try { fos = new FileOutputStream(strFileName); if (null != fos) { b.compress(Bitmap.CompressFormat.PNG, 90, fos); fos.flush(); fos.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //程序入口 public static void shoot(Activity a){ ScreenShot.savePic(ScreenShot.takeScreenShot(a), "sdcard/xx.png"); } }

原文地址:

 

转载于:https://www.cnblogs.com/yyq-quan/archive/2011/09/02/2164341.html

你可能感兴趣的文章
微软牛津计划-语音转文本-文本转语音代码和实现
查看>>
分享mac磁盘清理的方法
查看>>
项目管理的五个过程和九大知识领域
查看>>
android keytool 不是内部命令或外部命令在 (win7下不能用的解决方法)
查看>>
Kernel Changes
查看>>
再谈主成分分析
查看>>
JavaScript获取DOM元素位置和尺寸大小
查看>>
Netty线程模型
查看>>
linux的文件系统及节点表
查看>>
JavaScript为unicode编码转换为中文
查看>>
c 高级函数的简单用法
查看>>
[HTML]JS添加表格
查看>>
C#设计模式之二十职责链模式(Chain of Responsibility Pattern)【行为型】
查看>>
git版本回退
查看>>
win10 rabbitMQ的安装与测试
查看>>
Mqtt ----心跳机制
查看>>
180404
查看>>
远程连接身份验证错误,又找不到加密Oracle修正
查看>>
C++三种内存分配方式
查看>>
谷歌为URL缩短服务goo.gl开放API
查看>>