2010-11-15 83 views
1

在我的Android应用程序活动中,我有一个RelativeLayout,其中一个ImageView和一对TextView在运行时被填充。 我在活动中还有一个保存按钮,用于将ImageView中的图像保存到设备SD卡。 现在我真正想要做的是将Save(保存)按钮单击并将其保存到SD卡时,将元素(图像和RelativeLayout中的文本)一起转换为PNG图像。如何将带有Imageview和TextView的RelativeLayout转换为PNG图像?

有没有人尝试过这样的转换?如果有人可以给我一些提示或代码片段来说明如何去做,这将是非常有帮助的。

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

在此先感谢。

回答

7

RelativeLayoutView一个子类,下面应该对任何视图中工作:

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(); 

添加异常处理在您的休闲。 ;)

+0

好的,我会试试这个并发布它是如何工作的......谢谢! – Aakash 2010-11-15 21:11:29

+0

感谢这么多伟大的作品!想要提及的是FileOutputStream有一个Sun报告的错误,如果文件名和/或路径长度超过200个字符,就会发生这种错误。 – Aakash 2011-02-03 23:02:58

相关问题