<分区>
谁能帮我知道如何将 FrameLayout
的内容捕获到图像中并将其保存到内部或外部存储空间。
如何将任何 View 转换为图像
<分区>
谁能帮我知道如何将 FrameLayout
的内容捕获到图像中并将其保存到内部或外部存储空间。
如何将任何 View 转换为图像
最佳答案
尝试将 View (帧布局)转换为位图:
public Bitmap viewToBitmap(View view) {
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
return bitmap;
}
然后,将您的位图保存到一个文件中:
try {
FileOutputStream output = new FileOutputStream(Environment.getExternalStorageDirectory() + "/path/to/file.png");
bitmap.compress(Bitmap.CompressFormat.PNG, 100, output);
output.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
不要忘记在 AndroidManifest.xml 中设置写入存储的权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
关于android - 将任何 View 转换为图像并保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21725916/