我已经在
Java中编写了一个程序,其中包含一个图像文件并操纵该图像.现在我正在尝试访问相机,以便我可以拍照并将其传给图像处理程序,但是我失去了如何做到这一点.我已经阅读了有关摄像机类的信息,以及如何请求权限,但我不知道如何实际拍照.如果任何人有任何提示我应该开始,或者如果他们知道一个好的教程,我真的很感激.谢谢!
解决方法
Google是你最好的朋友,这里有一些教程:
How-To Program The Google Android Camera To Take Pictures
Take Picture from Camera Emulator
首先编辑你的AndroidManifest.xml,添加摄像机权限:
<uses-permission android:name=”android.permission.CAMERA”/>
相机服务必须打开和关闭:
Camera camera = Camera.open(); //Do things with the camera camera.release();
您可以设置相机设置,例如:
Camera.Parameters parameters = camera.getParameters(); parameters.setPictureFormat(PixelFormat.JPEG); camera.setParameters(parameters);
拍照:
private void takePicture() { camera.takePicture(shutterCallback,rawCallback,jpegCallback); } ShutterCallback shutterCallback = new ShutterCallback() { public void onShutter() { // TODO Do something when the shutter closes. } }; PictureCallback rawCallback = new PictureCallback() { public void onPictureTaken(byte[] _data,Camera _camera) { // TODO Do something with the image RAW data. } }; PictureCallback jpegCallback = new PictureCallback() { public void onPictureTaken(byte[] _data,Camera _camera) { // TODO Do something with the image JPEG data. } };
不要忘了将相机布局添加到主布局xml中.