近段时候有一个问题困扰着我,那就是在玩一个android游戏的时候如何将这个游戏中的一些好玩,好看,好听的action保存起来。于是乎首先在google上面输入 android screen capture 搜了一把。说的比较多,但是也无非就是以下三种方法:
1.使用系统 \android-sdk-windows\tools\lib\ddms.jar 来实现,这种实现过程类似将手机连接到电脑(安装了Android SDK,Usb 驱动) 但是这种方法鄙人没有亲自尝试过。
2.第二种,如果看过launcher源码的人都应该知道,使用以下方法可以实现截屏,但是那个状态条会是黑色,如何向去掉这个黑色状态条可以将之设置成全屏就OK。并且使用这个方法截屏必须是在UI主线程内,而且在截屏前要确保该View已经绘制出来了。具体代码如下:
private Bitmap getViewBitmap(View v) {
if (!v.isDrawingCacheEnabled()) {
Log.d("v.isDrawingCacheEnabled() == false");
return null;
}
v.clearFocus();
v.setPressed(false);
boolean willNotCache = v.willNotCacheDrawing();
v.setWillNotCacheDrawing(false);
// Reset the drawing cache background color to fully transparent
// for the duration of this operation
int color = v.getDrawingCacheBackgroundColor();
v.setDrawingCacheBackgroundColor(0);
if (color != 0) {
v.destroyDrawingCache();
}
v.buildDrawingCache();
Bitmap cacheBitmap = v.getDrawingCache();
if (cacheBitmap == null) {
Log.d("v.getDrawingCache() == null");
return null;
}
Bitmap bitmap = Bitmap.createBitmap(cacheBitmap);
// Restore the view
v.destroyDrawingCache();
v.setWillNotCacheDrawing(willNotCache);
v.setDrawingCacheBackgroundColor(color);
return bitmap;
}
3.第三种,技术含量稍微高点,但是要有root权限,那就是在FrameBuffer中直接取数据,这种功能也是最强大。而且此法要求对Linux,和C++,JNI有一定了解的。
图片有了,那么就如何将图片转换成视频了,可喜的是 一种叫做MotionJPEG格式的视频可以处理这件事,至于具体如何实现,请Google去吧。
热烈欢迎转载,而且可以不用说明出处
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cupidclb/archive/2010/08/26/5839808.aspx
分享到:
相关推荐
在Android平台上,截屏和录制屏幕是两种常见的功能,它们对于开发者调试应用、用户分享屏幕内容或制作教程视频都有重要作用。接下来,我们将深入探讨这两种技术的实现原理。 **一、Android 截屏** 1. **获取屏幕...
在Android开发中,有时我们需要将一个布局转换为图片,例如为了实现分享到微信的功能,或者进行屏幕截图。本文将深入探讨如何在Android中实现“布局生成图片”这一技术,以及如何将其与微信分享功能集成。 首先,让...
在Android开发中,有时我们需要对WebView的内容进行快照捕获,或者进行屏幕截屏操作,以便于分享、存储或进一步处理。以下将详细介绍如何在Android应用中实现这些功能。 1. **WebView快照获取** WebView是Android...
Android屏幕截图并保存截取屏幕的图片到指定文件,具体内容如下 注意要添加权限: <uses android:name=android.permission.WRITE_EXTERNAL_STORAGE> 完整代码: package zhangphil.test; import android.app....
通常,这样的工具会有一个图形用户界面,允许用户输入基准尺寸和密度信息,然后生成相应的`dimens.xml`文件,并将其放置在项目的`res/values`目录下对应的密度文件夹内。 使用`dimens.xml`适配文件生成工具能够大大...
本文将深入探讨`ddmlib`如何实现Android设备的截屏功能,以及如何在PC端通过`ddmlib`进行截图操作。 首先,让我们理解`ddmlib`的核心概念。`ddmlib`基于ADB(Android Debug Bridge),它是一个命令行工具,用于连接...
在安卓平台上,截图和截屏是用户日常操作的一部分,开发者也需要处理这些图像数据,例如将它们上传到服务器。本文将详细讲解安卓截图截屏的相关知识,以及如何将截图上传到服务器。 1. 安卓系统截图机制: 安卓...
本文主要讨论了两种常见的屏幕截屏方法,并对它们的优劣进行了对比,以及在实际应用中的注意事项。 首先,我们来看通过OpenGL实现的屏幕截屏。OpenGL是一种强大的图形库,它提供了`glReadPixels`函数,可以直接从...
在Android系统中,截屏功能是一项基础且常用的操作,它允许用户快速捕获屏幕上的内容以便分享或保存。本文将围绕“android截屏”这一主题,深入探讨Android平台上的截屏实现方式,以及如何开发一个简单的截屏应用,...
这个区域包含的是未经处理的原始像素数据,因此,要获取屏幕截图,就需要读取这部分内容并进行适当的转换以生成可识别的图片格式,如JPEG或PNG。 然而,由于`/dev/graphics/fb0`是一个敏感区域,普通应用没有权限...
这个批处理脚本会连续截取100张屏幕快照,每秒一张(1000毫秒延迟),并将截图保存到与脚本同一目录下。你可以根据实际需求修改`COUNT`和`DELAY`变量的值。 为了自动化这个过程,可以将批处理脚本放在启动项中,...
为了获取Framebuffer的截图,我们需要读取这个内存区域的内容,并将其保存为图像文件。这个过程涉及到以下几个关键步骤: 1. **权限获取**:由于Framebuffer是系统级别的资源,所以在开发这样的程序时,你需要在...
在Android开发中,截屏功能是一项常见的需求,无论是为了调试应用、分享屏幕内容还是构建功能如录屏。本文将深入探讨如何使用`drawingcache`方法实现Android应用的截图功能。 首先,我们需要理解`drawingcache`的...
总的来说,这个“Android简单的截屏应用”涵盖了Android权限管理、屏幕截图、文件保存、UI设计等多个核心概念。对于初学者来说,通过分析和理解这个源码,可以深入学习Android开发的基本流程和技术点。
本文将详细介绍如何在Android中实现这一功能,包括理解屏幕截图的基本原理、获取屏幕信息、绘制自定义区域以及保存和展示截图。 1. **屏幕截图的基本原理** 在Android中,我们可以获取到设备的根视图(root view)...
【Android-ScreenshotMaker】是一个专为Android应用开发者设计的小型Java程序,它的主要功能是帮助开发者创建具有专业外观且包含标题和说明的Play Store屏幕截图。这个工具对于那些希望提升应用商店页面展示效果的...
在Android 4.0(Ice Cream Sandwich)版本中,开发者可以通过访问framebuffer来实现屏幕抓取功能,即获取当前屏幕的图像并保存为图像文件,如BMP格式。下面我们将详细讨论如何在Android 4.0下使用framebuffer抓屏并...