2012-10-02 65 views
0

我想創建一個在相機預覽上繪製圖像的相機應用程序。當相機運行時,我想在相機預覽中添加一個圖像文件(例如:image.png)。 這裏是我必須運行相機的代碼,但我不知道添加代碼/繪製image.pngAndroid:在相機預覽上繪製圖像

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
mImageCaptureUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), 
"IMG_" + String.valueOf(System.currentTimeMillis()) + ".jpg")); 
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri); 

try { 
    intent.putExtra("return-data", true); 
    startActivityForResult(intent, PICK_FROM_CAMERA); 
} catch (ActivityNotFoundException e) { 
    e.printStackTrace(); 
} 

回答

2

你不能覆蓋在相機上的項目,除非相機預覽在你的應用程序本身。使用意圖不會讓你這樣做。

我的書「Pro Android Augmented Reality」中的一個示例應用程序向您展示瞭如何執行此操作。你可以找到該應用的開源代碼here

本質上,您必須使用SurfaceView來顯示相機數據,然後使用RelativeLayoutFrameLayout來繪製相關數據。

+0

如果使用SurfaceView來顯示相機,顯示器就像ACTION_IMAGE_CAPTURE或依賴於佈局? – ihsanhf

+0

你處理所有的顯示等等。它與intents完全無關。 –

+0

但這是可能的,對吧?你有一個使用SurfaceView的示例應用程序,顯示器就像ACTION_IMAGE_CAPTURE一樣嗎? – ihsanhf