首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

取得当前荧屏的截图

2013-11-08 
取得当前屏幕的截图取得当前屏幕的截图主要使用了Bitmap 类里的方法,首相取得一个bitmap 然后用取得的bitm

取得当前屏幕的截图
取得当前屏幕的截图主要使用了Bitmap 类里的方法,首相取得一个bitmap 然后用取得的bitmap 去绘制一张图片然后进行保存。

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.os.Environment;import android.util.Log;import android.view.View;public class ShotScreen {private static final String TAG="shotscreen";@SuppressWarnings("unused")private static Bitmap takeScreenShot(Activity activity){View view =activity.getWindow().getDecorView();view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap bitmap = view.getDrawingCache();Rect rect = new Rect();activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);int statusBarHeight = rect.top;System.out.println(statusBarHeight);int width =activity.getWindowManager().getDefaultDisplay().getWidth();int height =activity.getWindowManager().getDefaultDisplay().getHeight();Bitmap bitmap2 = Bitmap.createBitmap(bitmap,0,statusBarHeight, width, height - statusBarHeight);view.destroyDrawingCache();return bitmap2;}@SuppressWarnings("unused")private static void savePic(Bitmap bitmap,String filename){FileOutputStream fileOutputStream = null;try {fileOutputStream = new FileOutputStream(filename);if (fileOutputStream != null) {bitmap.compress(Bitmap.CompressFormat.PNG, 90, fileOutputStream);fileOutputStream.flush();fileOutputStream.close();}} catch (FileNotFoundException e) {Log.d(TAG, "Exception:FileNotFoundException");e.printStackTrace();} catch (IOException e) {Log.d(TAG, "IOException:IOException");e.printStackTrace();}}/** *  * @param a */public static void shoot(Activity a){if (android.os.Environment.MEDIA_MOUNTED != "mounted") {ShotScreen.savePic(ShotScreen.takeScreenShot(a), "/sdcard/抽样.png");   }else{ShotScreen.savePic(ShotScreen.takeScreenShot(a), "/data/data/"+a.getPackageName()+"/抽样.png");}    }   


Android中View转换为Bitmap及getDrawingCache=null的解决方法
http://www.cnblogs.com/devinzhang/archive/2012/06/05/2536848.html

热点排行