java - 如何将带有 Imageview 和 TextView 的 RelativeLayout 转换为 PNG 图像?

标签 java android png android-layout

在我的 Android 应用程序 Activity 中,我有一个 RelativeLayout,其中包含一个 ImageView 和几个在运行时填充的 TextView。 我在用于将 ImageView 中的图像保存到设备 SD 卡的 Activity 中也有一个保存按钮。 现在我真正想做的是在单击“保存”按钮时将元素(RelativeLayout 中的图像和文本)一起转换为 PNG 图像,并将其保存到 SD 卡。

有没有人尝试过这样的转换?如果有人可以给我一些提示或代码 fragment 来说明如何执行此操作,那将非常有帮助?

保存功能工作正常,但目前只保存 ImageView 中的图像。

提前致谢。

最佳答案

RelativeLayoutView 的子类,以下内容适用于任何 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();

随意添加异常处理。 ;)

关于java - 如何将带有 Imageview 和 TextView 的 RelativeLayout 转换为 PNG 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4188737/

相关文章:

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

android - 如何在 Android 4.X 中使用 Broadcom BLE SDK (SMART 4.0)

ruby - 如何使用 ChunkyPNG 或 RMagick 保存 8 位 PNG

java - 如何在 if 语句中使用微调器的选定项目(Eclipse 中的 Android)

安卓 'Unable to add window -- token null is not for an application'异常

image - 使用 ImageMagick 检测 Alpha channel

windows - 在 Windows 上将 PNG 文件提交到 Git 破坏了 %PNG\r\n header

java - 是否有优雅的串联工作?

java - 循环中的动态类型转换

java - 使用文件路径导入 Excel 文件