代码之家  ›  专栏  ›  技术社区  ›  Paresh Mayani jeet

Android-拍摄照片

  •  6
  • Paresh Mayani jeet  · 技术社区  · 15 年前

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

    在细节上, 我的应用程序包含一个显示活动名称的文本视图(在顶部)和一个按钮(在底部),在屏幕的中间区域,应查看相机预览。当用户单击该按钮时,应单击快照并将其显示到另一个活动的图像视图中。

    我知道使用了以下方法:

    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的建议。

    塔克斯,帕雷什

    2 回复  |  直到 15 年前
        1
  •  9
  •   ninjasense    15 年前

    如果您试图使用本机相机,一旦调用本机相机,它将控制您的视图。然而,如果你想实现自己的相机,那么这样的布局是可能的。以下是一些很好的例子:

        2
  •  4
  •   David Rabinowitz    15 年前

    所有的说明都在安卓.硬件.摄像头在 http://developer.android.com/reference/android/hardware/Camera.html :

    1. 从open()获取相机实例。
    2. 使用getParameters()获取现有(默认)设置。
    3. 如有必要,修改返回的摄像机参数对象和调用setParameters(摄像机参数).
    4. 重要提示:将完全初始化的SurfaceHolder传递给setPreviewDisplay(SurfaceHolder)。如果没有曲面,相机将无法开始预览。
    5. 重要提示:调用startPreview()开始更新预览曲面。必须先开始预览,然后才能拍照。
    6. 如果需要,可以打电话给takePicture(摄像头.ShutterCallback, 照相机.PictureCallback, 照相机.PictureCallback, 照相机.PictureCallback)拍摄照片。等待回调提供实际的图像数据。
    7. 拍照后,预览显示将停止。要拍摄更多照片,请先再次调用startPreview()。
    8. SurfaceHolder通常使用 SurfaceView