繁体   English   中英

Android - 拍摄照片

[英]Android - Capture photo

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

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

我知道使用以下方法:

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

但是如果我使用这种方法则不会显示我的textview和按钮视图。

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

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

thanx,paresh

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

祝好运!

所有说明都在http://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实现

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM