2010-11-15 81 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

相關問題