正确实现自定义相机的Flash

时间:2013-11-15 13:12:53

标签: android android-camera camera-flash

我有一个自定义相机可以很好地工作,除了我使用的Flash的实现。我尝试在FLASH_MODE_AUTO中使用surfaceChanged。我也尝试使用以下代码{ {1}}:

Light Sensor

无论我做什么,当我拍照并闪光灯闪光时,我的照片看起来像这样:

Image obtained using my Camera under low-light conditions

然而,当我使用默认的相机应用程序拍照时,它看起来很普通,甚至有点昏暗。

Image obtained using the default Camera app

我想完全使用光传感器摆脱这种解决方法并使用 SensorEventListener listener=new SensorEventListener(){ @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { //Not touching this with a ten foot pole } @Override public void onSensorChanged(SensorEvent event) { float lux=event.values[0]; Log.d(TAG, "The light sensor says: "+lux+" lux"); Camera.Parameters params=mCamera.getParameters(); cancelAutoFocus(); if(lux<50) { if(params.getFlashMode()!=Parameters.FLASH_MODE_ON) params.setFlashMode(Parameters.FLASH_MODE_ON); if(params.getExposureCompensation()!=params.getMinExposureCompensation()) params.setExposureCompensation(params.getMinExposureCompensation()); Log.d(TAG, "Exposure has been set to "+params.getMinExposureCompensation()); mCamera.setParameters(params); } else { params.setFlashMode(Parameters.FLASH_MODE_OFF); mCamera.setParameters(params); } } }; 。如何让我的相机在光线不足的条件下和/或闪光灯开启?

或者我是否必须进行任何后处理以确保图像的亮度较低。

0 个答案:

没有答案