2

我想创建一个在相机预览上绘制图像的相机应用程序。当相机运行时,我想在相机预览中添加一个图像文件(例如: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();
}
4

1 回答 1

4

您不能在相机上叠加项目,除非相机预览在您的应用程序本身中。使用意图将不允许您这样做。

我书中的一个示例应用程序 Pro Android Augmented Reality 向您展示了如何做到这一点。您可以在此处找到该应用程序的开源代码。

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

于 2012-10-02T11:11:03.420 回答