在我的Android App Activity中,我有一个RelativeLayout,其中有一个ImageView,并且在运行时填充了几个TextView。 我在活动中也有一个“保存”按钮,用于将ImageView中的图像保存到设备SD卡。 现在我真正想要做的是在单击“保存”按钮并将其保存到SD卡时将元素(图像和RelativeLayout中的文本)一起转换为PNG图像。
之前有没有人尝试过这样的转换?如果有人可以给我一些关于如何做到的提示或代码片段会非常有帮助吗?
“保存”功能正常,但目前仅将图像保存在图像视图中。
提前致谢。
答案 0 :(得分:7)
RelativeLayout
是View
的子类,以下内容适用于任何视图:
final View v; // The view that you want to save as an image
Bitmap bitmap = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bitmap);
v.draw(c);
File outputFile; // Where to save it
FileOutputStream out = new FileOutputStream(imageFile);
boolean success = bitmap.compress(CompressFormat.PNG, 100, out);
out.close();
随意添加异常处理。 ;)