Android:在相机预览上绘制图像

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

最佳答案

您无法在相机上叠加项目,除非相机预览位于您的应用本身中。使用 Intent 将不允许您执行此操作。

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

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

关于Android:在相机预览上绘制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12689095/

相关文章:

Android - 键盘出现时 ScrollView 不向上推

android - 如何在 onCreate() 中设置 MapView 缩放级别?

camera - Expo recordAsync() 不返回响应

android - 从相机 Intent 获取图像路径

java - 如何在相机预览上绘图

java - android camera : Failure delivering result ResultInfo{who=null, request=0, result=-1, data=null} 到 Activity

android - 如何自动测试 Android 应用程序,例如三星、HTC、……安卓?

android - 我想手动调用 FCM 来获取 token ,而它在 android 应用程序中为 null

python - 如何使用 cv.calibrateCamera 的 rvecs 和 tvecs 输出将相机坐标中的棋盘投影到 OpenCV 中的真实世界坐标?

ios - UIImagePickerController allowsEditing=YES 仅用于视频