2012-07-14 43 views
0

嗯,有沒有關於如何在Android上編輯圖像的任何教程?

我正在開發一個應用程序,我要從我的相冊中選擇一些圖片,然後在這張圖片上添加一些圖片。 之後,我將有一個「保存」按鈕,在用戶編輯圖像後,我會保存jpg格式的「最終」圖像。 我的問題是顯示我選擇的圖像,進行更改添加另一個圖像,然後保存它... 我發現教程在屏幕上顯示一個圖像,另一個保存,但沒有關於添加圖像合成爲一張圖像並最終保存。 有人知道如何解決這個問題?

回答

0

您是否將位圖添加到當前圖像的頂部?如果是,則嘗試使用此功能:因此,基本上,您必須檢測屏幕上的觸摸事件,並獲取觸摸事件的X和Y座標,然後將原始圖像,要添加到頂部的圖像你的原始圖像,X座標和Y座標。

public Bitmap drawableOnImage(Bitmap imageBackground, Bitmap itemOnImage, 
             int xScreenOffset, int yScreenOffset) 
{ 

Canvas canvas = new Canvas(imageBackground); 
canvas.drawBitmap(imageBackground, 0, 0, null); 

canvas.drawBitmap(itemOnImage, xScreenOffset, yScreenOffset, null); 

return Bitmap.createBitmap(imageBackground); 

} 
+0

我已經解決了部分已經......現在我對有問題保存圖像...我的意思是,我從我的algum中選擇一張圖片,它顯示了我的活動...我添加了另一張圖片,然後當我去保存時,它只保存圖片的一部分在展覽中在屏幕上......並非所有的整個圖像..你知道可以是什麼嗎? – Igor 2012-07-14 20:06:40

+0

@Igor請問你能解釋一下:「只保存圖像的一部分在屏幕上顯示......不是全部圖像」? 您的意思是背景圖片(來自您的相冊的圖片)正在保存,而不是您添加的圖片?或者你的意思是說你在頂部添加的圖像正在保存,而不是背景圖像(來自你的相冊的圖片)?還是你的意思是說別的?請解釋:) – 2012-07-15 12:31:12

0

是的,我曾經面臨同樣的問題,但現在它的solved.For解決方案,您可以使用捕捉畫面並保存位圖sdcard.If捕獲屏幕不工作比你可以使用屏幕快照,它是me.The代碼做工精細像這樣: -

//它是你的xml佈局文件的根佈局 LinearLayout L1 =(LinearLayout)findViewById(R.id.LinearLayout01);

//代碼,您可以使用快照

  View v1 = L1.getRootView(); 
      v1.setDrawingCacheEnabled(true); 
      Bitmap bm = v1.getDrawingCache(); 

好,我希望它是有用的you.Ok gdluck

+0

保存在SD卡中的圖像,你可以使用這個:File file = new File(Environment.getExternalStorageDirectory()+「/ imagename.png」); \t \t \t \t \t \t \t \t \t如果(file.exists())file.delete(); \t \t \t \t \t \t \t \t \t嘗試{ \t \t \t \t \t \t \t \t \t FileOutputStream中出來=新FileOutputStream中(文件); \t \t \t \t \t \t \t \t \t bitmap1.compress(Bitmap.CompressFormat。PNG,90,out); \t \t \t \t \t \t \t \t \t了out.flush(); \t \t \t \t \t \t \t \t \t out.close(); \t \t \t \t \t \t \t \t \t}趕上(例外五){ \t \t \t \t \t \t \t \t \t e.printStackTrace(); \t \t \t \t \t \t \t \t \t} – 2013-03-22 21:16:18

相關問題