直接贴代码,不说话:)
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# 屏幕截图
ScreenHunter Pro 是一款专业级短小精悍的屏幕截图工具,旨在于...同时还有实用的定时截屏、图像编辑、水印和特效添加等功能,如果大家需要一款更好用的屏幕截图软件的话,试试威航软件园分享的ScreenHunter Pro吧。
qt实现的屏幕截图功能,同时有托盘,有快捷键,可以截图任意位置任意大小。
屏幕截图,大家可以去下载看看,用VB.NET代码实现的。
VC中屏幕截图与不规则窗口的实现;只面涉及了很多东东
电脑后台自动屏幕截图工具(AutoScreenShot)是一款可以在后台默默地自动定时屏幕截图的工具,你可以设置软件每隔几秒自动截取一次屏幕,然后以 JPG 格式保存。用户可以设定只保留最新的多少张截图,也可以设定图片的...
DELPHI屏幕截图抓屏工具源代码.rarDELPHI屏幕截图抓屏工具源代码.rarDELPHI屏幕截图抓屏工具源代码.rarDELPHI屏幕截图抓屏工具源代码.rar
诺基亚E72i 屏幕截图宝典之百事屏幕截图v2.0 方便快捷,单手即实现截屏!超级好用
实现屏幕截图 Delphi
屏幕截图助手是一款屏幕截图的免费软件,主要特点:连续屏幕截图、自动保存、仿QQ截图局部截图 连续可控式截图,截图效率可提高5倍以上。 提供多种屏幕截图功能,支持多种图片格式 可自动或手动加入水印(文字水印...
方便使用的屏幕截图工具,支持实时屏幕截图,图片修改,屏幕取色,屏幕标尺,屏幕录制,绿色免安装
java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java的QQ...
FastStone Capture (FSCapture) 是经典好用的屏幕截图软件,还具有图像编辑和屏幕录制两大功能,可以捕捉全屏图像,或者活动窗口、窗口内的控件对象截图、支持手绘区域自由截图,或者滚动窗口等等,支持所有主流图片...
本文在屏幕截图的基础之上, 实现了从BMP转换到JPG, 保存到硬盘, 以及发送JPG编码到服务端, 服务端接收之后, 显示客户端发送的图片, 整个项目简单明了, 没有不必要的东西, 就一点代码, 主要是windows的API和GDI的...
C#屏幕截图源代码,涵盖屏幕抓图,截图,选框划线,显示尺寸,保存,抓换全部技术.
MFC屏幕截图,可对CDC类内存中的像素数据进行随意修改,并最终保存到D盘“屏幕截图.bmp”文件中。
Unity屏幕截图插件Screenshot Creator 1.4.5.3 仅供学习,请勿商用。
优道在线屏幕截图控件(UUDoc Screen Capture Control)是一款基于WEB的在线屏幕截图产品,支持嵌入到IE、FireFox、Chrome、Opera等各类浏览器当中在线使用。用户对电脑屏幕进行截图后可以将截取到的图片保存到指定...
这是一个用Delphi写得屏幕截图程序,它可以实现全屏截图,区域截图,并可以保存为多种格式的图片文件(内附Delphi源码)。是一个不可多得的小工具。
【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件【Snipaste】屏幕截图软件...