`

屏幕截图

 
阅读更多
直接贴代码,不说话:)
ScreenShot.java文件:
package com.screen;

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");
	}
}





记得加上读写SD卡的权限:
 <!-- 在SDCard中创建与删除文件权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <!-- 往SDCard写入数据权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
分享到:
评论

相关推荐

    c# 屏幕截图 c# 屏幕截图 c# 屏幕截图

    c# 屏幕截图 c# 屏幕截图 c# 屏幕截图 c# 屏幕截图 c# 屏幕截图 c# 屏幕截图 c# 屏幕截图 c# 屏幕截图 c# 屏幕截图 c# 屏幕截图 c# 屏幕截图 c# 屏幕截图 c# 屏幕截图 c# 屏幕截图

    ScreenHunter Pro(屏幕截图工具)官方正式版V7.0.1227 | 支持screenhunter自动截屏功能

    ScreenHunter Pro 是一款专业级短小精悍的屏幕截图工具,旨在于...同时还有实用的定时截屏、图像编辑、水印和特效添加等功能,如果大家需要一款更好用的屏幕截图软件的话,试试威航软件园分享的ScreenHunter Pro吧。

    qt 屏幕截屏 window linux

    qt实现的屏幕截图功能,同时有托盘,有快捷键,可以截图任意位置任意大小。

    屏幕截图功能,VB.NET代码实现

    屏幕截图,大家可以去下载看看,用VB.NET代码实现的。

    vc屏幕截图vc屏幕截图

    VC中屏幕截图与不规则窗口的实现;只面涉及了很多东东

    电脑后台自动屏幕截图工具(AutoScreenShot)v1.01官方英文绿色版

    电脑后台自动屏幕截图工具(AutoScreenShot)是一款可以在后台默默地自动定时屏幕截图的工具,你可以设置软件每隔几秒自动截取一次屏幕,然后以 JPG 格式保存。用户可以设定只保留最新的多少张截图,也可以设定图片的...

    DELPHI屏幕截图抓屏工具源代码

    DELPHI屏幕截图抓屏工具源代码.rarDELPHI屏幕截图抓屏工具源代码.rarDELPHI屏幕截图抓屏工具源代码.rarDELPHI屏幕截图抓屏工具源代码.rar

    诺基亚E72i 屏幕截图宝典之百事屏幕截图v2.0

    诺基亚E72i 屏幕截图宝典之百事屏幕截图v2.0 方便快捷,单手即实现截屏!超级好用

    屏幕截图 Delphi

    实现屏幕截图 Delphi

    CYY屏幕截图助手(可全屏截图软件) v3.7 绿色免费版.zip

    屏幕截图助手是一款屏幕截图的免费软件,主要特点:连续屏幕截图、自动保存、仿QQ截图局部截图 连续可控式截图,截图效率可提高5倍以上。 提供多种屏幕截图功能,支持多种图片格式 可自动或手动加入水印(文字水印...

    FSCapture屏幕截图工具

    方便使用的屏幕截图工具,支持实时屏幕截图,图片修改,屏幕取色,屏幕标尺,屏幕录制,绿色免安装

    java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip

    java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java的QQ...

    FSCapture屏幕截图软件

    FastStone Capture (FSCapture) 是经典好用的屏幕截图软件,还具有图像编辑和屏幕录制两大功能,可以捕捉全屏图像,或者活动窗口、窗口内的控件对象截图、支持手绘区域自由截图,或者滚动窗口等等,支持所有主流图片...

    屏幕截图MFC

    本文在屏幕截图的基础之上, 实现了从BMP转换到JPG, 保存到硬盘, 以及发送JPG编码到服务端, 服务端接收之后, 显示客户端发送的图片, 整个项目简单明了, 没有不必要的东西, 就一点代码, 主要是windows的API和GDI的...

    C#屏幕截图源代码

    C#屏幕截图源代码,涵盖屏幕抓图,截图,选框划线,显示尺寸,保存,抓换全部技术.

    MFC屏幕截屏操作

    MFC屏幕截图,可对CDC类内存中的像素数据进行随意修改,并最终保存到D盘“屏幕截图.bmp”文件中。

    Unity屏幕截图插件Screenshot Creator 1.4.5.3

    Unity屏幕截图插件Screenshot Creator 1.4.5.3 仅供学习,请勿商用。

    在线屏幕截图控件 v1.4

    优道在线屏幕截图控件(UUDoc Screen Capture Control)是一款基于WEB的在线屏幕截图产品,支持嵌入到IE、FireFox、Chrome、Opera等各类浏览器当中在线使用。用户对电脑屏幕进行截图后可以将截取到的图片保存到指定...

    Delphi屏幕截图程序

    这是一个用Delphi写得屏幕截图程序,它可以实现全屏截图,区域截图,并可以保存为多种格式的图片文件(内附Delphi源码)。是一个不可多得的小工具。

    【Snipaste】屏幕截图软件

    【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件...

Global site tag (gtag.js) - Google Analytics