Android:在Camera Preview上绘制图像

时间:2012-10-02 11:03:26

标签: android camera android-camera-intent

我想创建一个在相机预览上绘制图像的相机应用程序。当相机运行时,我想在相机预览上添加图像文件(例如:image.png)。 这是我必须运行相机的代码,但我不知道添加/绘制image.png的代码

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

1 个答案:

答案 0 :(得分:2)

除非相机预览位于您的应用中,否则您无法在相机上叠加项目。使用意图不允许你这样做。

我的书中的一个示例应用程序Pro Android增强现实版向您展示了如何执行此操作。您可以找到该应用的开源代码here

基本上,您必须使用SurfaceView来显示相机数据,然后使用RelativeLayoutFrameLayout在其上绘制内容。