`

屏幕截图

 
阅读更多
直接贴代码,不说话:)
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#写的屏幕截屏例子

    要创建屏幕截图,我们需要创建一个与屏幕相同尺寸的Bitmap对象,然后使用Graphics对象将屏幕内容绘制到这个位图上。首先,我们创建一个Graphics实例,从默认的显示设备(HDC)获取,然后使用CopyFromScreen方法将...

    qt 屏幕截屏 window linux

    本项目标题“qt 屏幕截屏 window linux”表明我们将探讨如何使用Qt库来实现跨平台的屏幕截图功能。 在Qt中,我们可以使用`QScreen`类来获取系统屏幕的信息,如分辨率和设备像素比。要实现屏幕截图,首先需要获取主...

    windows API 屏幕截屏

    Windows API 屏幕截屏是利用操作系统提供的编程接口来捕获电脑屏幕上显示的内容,并将其保存为图像文件,如JPG或BMP格式。...熟练掌握这些API函数及其用法,可以帮助开发者在各种应用场景下实现自定义的屏幕截图功能。

    MFC屏幕截屏操作

    在这个场景下,我们使用MFC来实现屏幕截图并进行像素级别的处理,最后将结果保存为位图文件。以下是关于这个主题的详细知识点: 1. **MFC基础**: MFC是微软提供的一套C++库,它封装了Windows API,简化了Windows...

    matlab 屏幕截图ScreenCapture

    "matlab 屏幕截图ScreenCapture" 是一个专为此目的设计的工具,它提供了简洁易用的界面,使得在MATLAB中进行屏幕截图变得更加方便。 该工具的核心功能包括: 1. **截图功能**:ScreenCapture工具允许用户快速捕获...

    android jni 屏幕截图 NativeScreenCapture

    本项目“android jni 屏幕截图 NativeScreenCapture”专注于利用JNI技术来实现Android设备的屏幕截图功能。下面将详细介绍这个过程涉及的关键知识点。 1. **JNI基础**:JNI是Android平台上的一个接口,它为Java应用...

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

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

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

    屏幕截图功能在日常计算机操作中十分常见,它可以帮助我们快速捕获并保存当前显示器上的图像。在编程领域,实现这一功能通常需要利用图形设备接口(GDI+)或Windows API等技术。VB.NET,作为微软.NET框架下的面向...

    Labview做的屏幕截图

    在给定的“Labview做的屏幕截图”主题中,我们关注的是Labview如何实现屏幕截图的功能。 在Labview中,我们可以利用外部函数节点(External Function Node)来调用DLL(动态链接库)文件,DLL文件通常包含了操作...

    自动关机, 天气预报, 屏幕截屏

    "cpyScrImage.dll"可能是一个屏幕截图相关的动态链接库,它可能包含了一些截图操作的函数和逻辑,供其他程序调用。最后,“BOX.exe”可能是一个可执行程序,有可能是上述功能的集成工具,集成了自动关机、天气预报和...

    超实用的VB60屏幕截图

    【VB6.0屏幕截图】是一种在编程领域中常见的功能,尤其在开发用户界面友好、交互性强的应用程序时,能够帮助用户快速捕获并保存屏幕上的图像。VB6.0,全称Visual Basic 6.0,是微软推出的一款可视化的编程环境,它...

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

    ### 诺基亚E72i 屏幕截图宝典之百事屏幕截图v2.0 #### 知识点一:诺基亚E72i屏幕截图的重要性及应用场景 在移动办公和日常生活中,屏幕截图是一项非常实用的功能。它可以快速记录下当前屏幕上的信息,便于分享或...

    电脑截屏小工具——屏幕截图精灵_1.0

    屏幕截图精灵是一款简单易用的电脑截屏工具,专为用户提供快速、高效的屏幕捕捉体验。在日常工作中,无论是为了记录工作进度、分享信息还是进行问题反馈,截屏都是必不可少的功能。这款1.0版本的屏幕截图精灵正是为...

    屏幕截图、屏幕录制

    屏幕截图和屏幕录制是计算机操作中非常实用的功能,它们在工作、学习以及日常生活中都有着广泛的应用。本程序专为此目的设计,旨在帮助用户方便地捕捉和记录屏幕上的活动。 屏幕截图,简而言之,就是将电脑屏幕上的...

    PPC屏幕截屏ppc

    标题中的"PPC屏幕截屏ppc"指的是在个人数字助理(Personal Digital Assistant,简称PDA)设备上,特别是那些基于Windows Mobile操作系统(通常被称为PPC,Pocket PC)的设备上进行屏幕截图的功能。在这些早期的移动...

    简单易懂的屏幕截屏源代码,VC6.0编写,可移植VS其它平台

    总的来说,这个项目提供了一个基础的屏幕截图工具的实现,对初学者理解Windows编程、MFC框架和屏幕捕获技术有很好的学习价值。对于有经验的开发者来说,这个代码可能是一个起点,他们可以通过修改和扩展它来创建更...

    Delphi屏幕截图程序

    【Delphi屏幕截图程序】是一个基于Delphi编程语言开发的实用工具,主要功能是捕捉屏幕图像并将其保存为不同格式的图片文件。Delphi是一种强大的面向对象的编程环境,以其高效的编译器和丰富的组件库而闻名,尤其适合...

    C#屏幕截图源代码

    "C#屏幕截图源代码"这个主题涉及到的是如何利用C#编程实现屏幕抓图功能,这是许多应用程序和工具中常见的需求。下面将详细介绍相关知识点。 1. **C#基础** 在了解屏幕截图之前,我们需要理解C#的基础知识,包括类...

    屏幕截图精灵 V1.0 绿色版

    屏幕截图精灵V1.0绿色版是一款轻量级的截图工具,无需安装即可直接运行,为用户提供快速便捷的屏幕捕获功能。这款软件的核心特点在于其小巧的体积和高效的实用性,使得用户在处理屏幕截图任务时能感受到极大的便利。...

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

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

Global site tag (gtag.js) - Google Analytics