android截图
来源:互联网 发布:unity3d ios 模拟器 编辑:程序博客网 时间:2024/05/16 16:21
跳转到指定显示屏幕执行截图保存
public static void shoot(Activity a, File filePath)
{
if (filePath == null)
{
return;
}
if (!filePath.getParentFile().exists())
{
filePath.getParentFile().mkdirs();
}
savePic(takeScreenShot(a), filePath);
}
public static Bitmap takeScreenShot(Activity activity)
{
// View是你需要截图的View ,属于activity
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;
int width = activity.getWindowManager().getDefaultDisplay().getWidth();
int height = activity.getWindowManager().getDefaultDisplay().getHeight();
//Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height - statusBarHeight);
int y=b1.getHeight();//就是当前activity的高度
LogUtil.e(TAG, "图片高度:"+y);
if(y<height)
{
height=y;//如果activity高度小于屏幕高度,就让截图高度等于activity高度,否则下面会报错
}
LogUtil.e(TAG, "height高度:"+height);
Bitmap b = Bitmap.createBitmap(b1, 0, 0, width, height);
view.destroyDrawingCache();
return b;
}
public static void savePic(Bitmap b, File filePath)
{
FileOutputStream fos = null;
try
{
fos = new FileOutputStream(filePath);
if (null != fos)
{
b.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
}
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
- Android截图
- android 截图
- Android截图
- android截图
- android截图
- android 截图
- android截图
- Android截图
- Android截图
- android surfaceview截图 系统截图
- 【拍照截图】Android 系统拍照和截图
- Android截图 调用图片照片并截图,相机照相截图
- Android 普通View截图 RecyclerView截图 ScrollView截图分享
- Android截图代码实现
- Android 截图实现(2)
- 使用android模拟器截图
- android 程序截图功能
- 【转】android屏幕截图
- 在win7系统下使用TortoiseGit(乌龟git)简单操作Git@OSC
- 网页添加百度地图缩略图
- 懒得笔记6 spring hibernate template
- 提交java性能的注意点
- Java学习--(九)异常处理
- android截图
- hdu5391Zball in Tina Town
- tolua++的一些api的
- Redis同步(主从复制)
- 关于flex匿名函数和swift闭包
- ACM对拍程序
- linux学习之路(6)
- C++对象模型详解
- Mybatis中#和$的区别