`

android屏幕截图

阅读更多
android屏幕截图

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


  • 大小: 5 KB
分享到:
评论
4 楼 bing_zz 2012-06-13  
VideoView播放rtsp流视频时截不到图
3 楼 Will.Du 2012-05-04  
我也测了,木有问题~~写的思路也很清楚
2 楼 aichixihongshi 2011-08-31  
是的,我是测试完了才转载的,代码是没有问题的。你的代码跑起来有问题,应该是你调用时机不对,请确认view已加载完毕,DrawingCache已开启,并能获取DrawingCache
1 楼 acetech_sean 2011-08-24  
楼主你确认这段代码没有问题?我测试了下,不行吧?一篇文章转来转去转烂了,但是都不去验证他的正确性!

相关推荐

    android屏幕截图代码

    本文将基于标题“android屏幕截图代码”以及描述中的“用于截图的各种方法 android的各种方法实现”,详细探讨几种实现屏幕截图的方法,并尽可能地扩展相关内容,以便读者能够更好地理解和掌握这些技术点。...

    android 屏幕截图功能

    ### Android屏幕截图功能详解 #### 一、概述 在Android应用开发过程中,有时我们需要实现屏幕截图的功能,例如在社交应用中分享当前界面的画面,或者在游戏应用中保存精彩瞬间等场景。本文将详细介绍如何在Android...

    android jni 屏幕截图 NativeScreenCapture

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

    Android 屏幕截图

    总的来说,Android屏幕截图可以通过`View`的绘图缓存或者`MediaProjection` API实现,其中后者提供了更全面的截图能力,但需要用户权限。在实际开发中,考虑到兼容性和用户体验,我们需要根据具体场景选择合适的方法...

    Android屏幕截图功能代码

    Android中截取屏幕截图功能代码,在android APP程序中,可以用以上代码截图。

    android 屏幕截图

    在Android平台上,屏幕截图是开发者和用户日常操作中常见的功能之一。从Android 5.0(Lollipop)开始,系统提供了更加便捷的方式来实现这一功能,不仅优化了用户体验,也使得开发者能够更容易地集成屏幕截图功能到...

    android屏幕截图发送到PC实现(PC和ANDROID均包含)

    android实现屏幕监控 1、问题 1、性能问题还未解决 2、需要手机拥有ROOT权限。 3、FRAMBUFFER数据读写的需要人为配置(/fb0中数据的... 3、电脑屏幕全屏显示,按android屏幕显示,固定大小显示(代码中修改常量值)

    Android-Andorid屏幕截图类库

    Android-Android屏幕截图类库是为了简化这一过程而设计的,它提供了一种方便、高效的方式来捕获设备屏幕的内容。在这个项目中,我们关注的是RxScreenshotDetector-master,它是一个基于ReactiveX(RxJava)的Android...

    androidjava源码-Android_Screenshot:来自PC的C++android屏幕截图。通过AndroidDDMS源代码将J

    【Android_Screenshot】项目是一个基于C++实现的Android设备屏幕截图工具,它的主要目标是让开发者或用户能够从个人计算机(PC)上直接捕获Android设备的屏幕图像。这个项目利用了Android Debug Bridge (ADB) 和 ...

    Android手机屏幕截图和图片多点触摸缩放

    在Android操作系统中,屏幕截图是...总的来说,Android屏幕截图提供了方便的用户接口和API,而多点触摸缩放则是提升用户体验的关键技术之一。开发者可以通过熟练掌握这些技巧,构建出更具吸引力的图像查看或编辑应用。

    android区域性屏幕截图

    这个“android区域性屏幕截图”项目提供了解决此类需求的代码实现,已经经过测试并确认功能正常。 在Android中,获取屏幕截图通常涉及到以下几个关键知识点: 1. **获取屏幕大小**: 在Android中,我们可以通过`...

    android截取屏幕图片

    通过分析和理解这些代码,你可以更好地掌握Android屏幕截图的功能,并将其应用到自己的应用中。 总之,Android提供了一套相对简单的接口来截取屏幕图片并保存到外部存储。开发者需要理解权限管理的变化,并根据不同...

    Falcon:以Falcons的眼神拍摄Android屏幕截图!

    猎鹰眼捕捉Android屏幕截图! 屏幕快照中包括对话框,祝酒词和所有其他额外的窗口。 用法 // Saving screenshot to file Falcon . takeScreenshot(activity, file); // Take bitmap and do whatever you want ...

    Android 区域截图源码.rar

    在Android平台上,实现区域...通过阅读和理解代码,你将深入掌握Android屏幕截图的实现机制,以及如何在应用中集成自定义的截图功能。这对于开发具有类似需求的应用非常有帮助,比如教育应用、游戏、社交媒体应用等。

    一个用于捕获ios / android屏幕截图并将其保存到剪贴板或文件系统的CLI。-Node.js开发

    一个用于捕获ios / android屏幕截图并将其保存到剪贴板或文件系统的CLI。 Usage用法osnap [ios | android] [-f filename.png] [-d android_device_id]:red_apple:使用iOS osnap io:camera:osnap! 一个用于捕获ios /...

    Android摄像头屏幕截图工具

    在这种情况下,"Android摄像头屏幕截图工具" 提供了一种解决方案,它是一个基于DOS命令的小型应用程序,专为无显示屏Android设备设计。下面将详细介绍这个工具及其相关知识点。 首先,我们需要理解什么是DOS命令。...

    Android 区域截图源码.zip源码资源下载

    在Android平台上,实现区域截图是一项常见的需求,例如用于制作教程、分享特定屏幕内容或...开发者可以通过学习这个源码,了解Android屏幕截图的实现原理,并可将其应用到自己的项目中,增强应用的功能性和用户体验。

    android 指定屏幕内区域截图

    在Android开发中,有时我们需要实现特定功能,例如只截取应用程序界面的一部分,而不是整个屏幕。这个功能在"指定屏幕内区域截图"中得以体现。在本文中,我们将深入探讨如何在Android中实现这一功能,包括如何选取...

    Android MediaProjection截屏&录屏-适配Android

    Android MediaProjection截屏&录屏 1、解决Android Q中java.lang.SecurityException: Media projections require a foreground service of type ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION 异常 2、...

Global site tag (gtag.js) - Google Analytics