【问题标题】:Android - Capture photoAndroid - 拍摄照片
【发布时间】:2011-03-30 08:23:29
【问题描述】:

在我的应用程序中,我必须实现本地相机活动,我必须启动相机并拍照。

详细来说, 我的应用程序包含一个 TextView(顶部)显示活动名称和一个按钮(底部),在屏幕的中间区域,应查看相机预览。当用户单击该按钮时,应单击并显示快照进入另一个活动的 Imageview。

我知道使用了以下方法:

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
startActivityForResult( intent, 0 );

但是如果我使用这种方法,那么我的文本视图和按钮视图不会显示。

(请注意:我正在使用带有 HTC Hero 的 Android SDK 1.5)

请通过任何文章、网站或 pdf 的建议帮助我。

谢谢,帕雷什

【问题讨论】:

    标签: android android-camera android-camera-intent android-capture


    【解决方案1】:

    如果您尝试使用本机摄像头,一旦调用本机摄像头,它将控制您的视图。但是,如果您想实现自己的相机,那么这样的布局是可能的。可以在这里找到一些很好的例子:

    祝你好运!

    【讨论】:

    • 看起来...最后我必须以第二种链接方式实现相机应用程序
    • 感谢您提供宝贵的答案..但是让我知道使用 IMAGE_CAPTURE 意图捕获的最大尺寸是多少?
    • 你可以得到它们的全尺寸,但你可能不是。我遇到了同样的问题,以比我猜测的更小的图像返回图片。理论上,您应该能够通过您在意图上指定的路径获取位图。但是我能够通过以下方式检索更大的版本: Uri pic = Uri.parse(data.toURI());位图 bm = Media.getBitmap(getContentResolver(), pic);在 onActivityResult 方法中。希望这会有所帮助。
    • 我在我的应用程序中实现的第二个链接方式......感谢让我的生活......非常有用的链接和你的支持
    • @PareshMayani 您好 Paresh,第二个链接已损坏...您能帮我解决这个问题吗?
    【解决方案2】:

    所有说明都在http://developer.android.com/reference/android/hardware/Camera.htmlhttp://developer.android.com/reference/android/hardware/Camera.html的android.hardware.Camera 的JavaDoc 中:

    1. 从 open() 获取 Camera 实例。
    2. 使用 getParameters() 获取现有(默认)设置。
    3. 如有必要,修改返回的Camera.Parameters对象并调用setParameters(Camera.Parameters)。
    4. 如果需要,调用 setDisplayOrientation(int)。
    5. 重要提示:将完全初始化的 SurfaceHolder 传递给 setPreviewDisplay(SurfaceHolder)。没有表面,相机将无法开始预览。
    6. 重要提示:调用 startPreview() 开始更新预览图面。必须先开始预览,然后才能拍照。
    7. 如果需要,请调用 takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback) 来拍摄照片。等待回调提供实际的图像数据。
    8. 拍照后,预览显示将停止。要拍摄更多照片,请先再次调用 startPreview()。
    9. 调用 stopPreview() 以停止更新预览图面。
    10. 重要提示:调用 release() 以释放相机以供其他应用程序使用。应用程序应立即在 onPause() 中释放相机(并在 onResume() 中重新打开()它)。

      SurfaceHolder 通常使用SurfaceView 实现

    【讨论】:

    • 感谢答案..我已经阅读了这篇文章,但不知道如何实现它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    相关资源
    最近更新 更多