对屏幕进行截图(直接软件可视部分)
public Bitmap captureScreen() {
getWindow().getDecorView().setDrawingCacheEnabled(true);
Bitmap bitmap = getWindow().getDecorView().getDrawingCache();
return bitmap;
}
public void saveBitmap(Bitmap mBitmap) {
File file = new File(Environment.getExternalStorageDirectory() + File.separator + "test.jpg");
FileOutputStream os = null;
try {
os = new FileOutputStream(file);
mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);
os.flush();
os.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
对屏幕进行长截图(利用ScrollView对整个ScrollView进行截图)
public static Bitmap getBitmapByView(ScrollView scrollView) {
int h = 0;
Bitmap bitmap = null;
// 获取scrollview实际高度
for (int i = 0; i < scrollView.getChildCount(); i++) {
h += scrollView.getChildAt(i).getHeight();
scrollView.getChildAt(i).setBackgroundColor(
Color.parseColor("#ffffff"));
}
// 创建对应大小的bitmap
bitmap = Bitmap.createBitmap(scrollView.getWidth(), h,
Bitmap.Config.RGB_565);
final Canvas canvas = new Canvas(bitmap);
scrollView.draw(canvas);
return bitmap;
}
分享图片
Uri uri = Uri.fromFile(new File(Environment.getExternalStorageDirectory() + File.separator + "test.jpg"));
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setType("image/*");
startActivity(Intent.createChooser(intent, "分享到"));