我想知道当前屏幕截图(按下按钮后)的代码是什么,并将其保存在图库中,因为我没有带SD卡的设备。所以我会保存在默认画廊。谢谢如何以编程方式截图并将其保存在图库中?
回答
由于323go
评论,这是不可能的,除非你的设备是真正的植根。
但是,如果是这样,它可能是一个好工作monkeyrunner或如果您使用模拟器。
Bitmap bitmap;
View v1 = findViewById(R.id.rlid);// get ur root view id
v1.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
这应该可以做到。
为了节省
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 40, bytes);
File f = new File(Environment.getExternalStorageDirectory()
+ File.separator + "test.jpg")
f.createNewFile();
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
fo.close();
你给了上述答案一试? – Raghunandan 2013-03-08 04:02:05
工作正常,答案很好。不要忘记添加权限或它不会工作:
View v1 = L1.getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bm = v1.getDrawingCache();
BitmapDrawable bitmapDrawable = new BitmapDrawable(bm);
image = (ImageView) findViewById(R.id.screenshots);
image.setBackgroundDrawable(bitmapDrawable);
有关完整的源代码,经过下面的博客
http://amitandroid.blogspot.in/2013/02/android-taking-screen-shots-through-code.html
为了存储位图,看看下面的链接
这将保存到画廊。该代码还设置了一个图像路径..这对于Intent.SEND_ACTION和电子邮件意图很有用。
String imagePath = null;
Bitmap imageBitmap = screenShot(mAnyView);
if (imageBitmap != null) {
imagePath = MediaStore.Images.Media.insertImage(getContentResolver(), imageBitmap, "title", null);
}
public Bitmap screenShot(View view) {
if (view != null) {
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(),
view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
return bitmap;
}
return null;
}
我知道这是几个月大,但它有点工作...除.. ..它捕获了视图的内容而不是子视图。如何获得视图顶部显示的所有内容(又名整个屏幕)的位图? – ByteSlinger 2018-02-18 00:14:37
- 1. 如何以编程方式从其他网站保存图像?
- 2. 以屏幕截图(以编程方式)
- 3. 以编程方式截图并在Swift中模糊
- 4. 在图片名称中以编程方式在iPad中截图
- 5. 如何在Android中以编程方式截图?
- 6. 如何在android中以编程方式截取对话框的截图?
- 7. 我如何可以采取截屏,并将其保存在PHP
- 8. 在java中截取屏幕截图并将其保存在桌面上
- 9. 如何以编程方式将文档保存在OpenOffice.org中?
- 10. 以Android编程的屏幕截图问题以编程方式
- 11. 以编程方式将图像保存到Django ImageField
- 12. 以编程方式将图像保存为HTML5/Java Script
- 13. 如何在Android中以编程方式将图库文件从图库复制到其他文件夹
- 14. Drupal:以编程方式保存图像场图像
- 15. Java截图并保存
- 16. iPhone iOS如何以旋转编程方式截图?
- 17. 如何以编程方式拍摄iPhone的截图?
- 18. 如何以编程方式取消segue并保持在同一视图中
- 19. 如何以编程方式将图像共享到图库中的WhatsApp?
- 20. 无论如何要以编程方式在画廊中保存GIF图像吗?
- 21. Xamarin - 如何获取截图并使用xamarin mac将其保存在磁盘上?
- 22. 如何以编程方式将iCarousel放在视图中?
- 23. 以编程方式添加保存方向更改的视图?
- 24. 以编程方式采取位图截图Android
- 25. 如何将图像转换为字节以将其保存在数据库中并从数据库中检索?
- 26. 如何下载图像并将其保存在Android中
- 27. 如何以编程方式将视图添加到视图
- 28. 在Windows上截图并保存?
- 29. 如何以编程方式将两个位图合并为另一个位图?
- 30. 如何将图片保存到图库
这是不可能的,除非你的设备是根植的。 – 323go 2013-03-07 16:24:03
尝试这一个..... [http://stackoverflow.com/questions/7762643/android-take-screen-shot-programatically][1] [1]:HTTP:/ /stackoverflow.com/questions/7762643/android-take-screen-shot-programatically – 2014-04-08 16:54:30