Search in sources :

Example 21 with OpenCamera

use of com.google.zxing.client.android.camera.open.OpenCamera in project android-zxing by PearceXu.

the class CameraConfigurationManager method setDesiredCameraParameters.

void setDesiredCameraParameters(OpenCamera camera, boolean safeMode) {
    Camera theCamera = camera.getCamera();
    Camera.Parameters parameters = theCamera.getParameters();
    if (parameters == null) {
        Log.w(TAG, "Device error: no camera parameters are available. Proceeding without configuration.");
        return;
    }
    Log.i(TAG, "Initial camera parameters: " + parameters.flatten());
    if (safeMode) {
        Log.w(TAG, "In camera config safe mode -- most settings will not be honored");
    }
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
    initializeTorch(parameters, prefs, safeMode);
    CameraConfigurationUtils.setFocus(parameters, prefs.getBoolean(PreferencesActivity.KEY_AUTO_FOCUS, true), prefs.getBoolean(PreferencesActivity.KEY_DISABLE_CONTINUOUS_FOCUS, true), safeMode);
    if (!safeMode) {
        if (prefs.getBoolean(PreferencesActivity.KEY_INVERT_SCAN, false)) {
            CameraConfigurationUtils.setInvertColor(parameters);
        }
        if (!prefs.getBoolean(PreferencesActivity.KEY_DISABLE_BARCODE_SCENE_MODE, true)) {
            CameraConfigurationUtils.setBarcodeSceneMode(parameters);
        }
        if (!prefs.getBoolean(PreferencesActivity.KEY_DISABLE_METERING, true)) {
            CameraConfigurationUtils.setVideoStabilization(parameters);
            CameraConfigurationUtils.setFocusArea(parameters);
            CameraConfigurationUtils.setMetering(parameters);
        }
    }
    parameters.setPreviewSize(bestPreviewSize.x, bestPreviewSize.y);
    theCamera.setParameters(parameters);
    theCamera.setDisplayOrientation(cwRotationFromDisplayToCamera);
    Camera.Parameters afterParameters = theCamera.getParameters();
    Camera.Size afterSize = afterParameters.getPreviewSize();
    if (afterSize != null && (bestPreviewSize.x != afterSize.width || bestPreviewSize.y != afterSize.height)) {
        Log.w(TAG, "Camera said it supported preview size " + bestPreviewSize.x + 'x' + bestPreviewSize.y + ", but after setting it, preview size is " + afterSize.width + 'x' + afterSize.height);
        bestPreviewSize.x = afterSize.width;
        bestPreviewSize.y = afterSize.height;
    }
}
Also used : SharedPreferences(android.content.SharedPreferences) OpenCamera(com.google.zxing.client.android.camera.open.OpenCamera) Camera(android.hardware.Camera)

Example 22 with OpenCamera

use of com.google.zxing.client.android.camera.open.OpenCamera in project android-zxing by PearceXu.

the class CameraManager method setTorch.

/**
 * Convenience method for {@link com.google.zxing.client.android.CaptureActivity}
 *
 * @param newSetting if {@code true}, light should be turned on if currently off. And vice versa.
 */
public synchronized void setTorch(boolean newSetting) {
    OpenCamera theCamera = camera;
    if (theCamera != null && newSetting != configManager.getTorchState(theCamera.getCamera())) {
        boolean wasAutoFocusManager = autoFocusManager != null;
        if (wasAutoFocusManager) {
            autoFocusManager.stop();
            autoFocusManager = null;
        }
        configManager.setTorch(theCamera.getCamera(), newSetting);
        if (wasAutoFocusManager) {
            autoFocusManager = new AutoFocusManager(context, theCamera.getCamera());
            autoFocusManager.start();
        }
    }
}
Also used : OpenCamera(com.google.zxing.client.android.camera.open.OpenCamera)

Example 23 with OpenCamera

use of com.google.zxing.client.android.camera.open.OpenCamera in project android-zxing by PearceXu.

the class CameraManager method startPreview.

/**
 * Asks the camera hardware to begin drawing preview frames to the screen.
 */
public synchronized void startPreview() {
    OpenCamera theCamera = camera;
    if (theCamera != null && !previewing) {
        theCamera.getCamera().startPreview();
        previewing = true;
        autoFocusManager = new AutoFocusManager(context, theCamera.getCamera());
    }
}
Also used : OpenCamera(com.google.zxing.client.android.camera.open.OpenCamera)

Example 24 with OpenCamera

use of com.google.zxing.client.android.camera.open.OpenCamera in project incubator-weex by apache.

the class CameraConfigurationManager method setDesiredCameraParameters.

void setDesiredCameraParameters(OpenCamera camera, boolean safeMode) {
    Camera theCamera = camera.getCamera();
    Camera.Parameters parameters = theCamera.getParameters();
    if (parameters == null) {
        Log.w(TAG, "Device error: no camera parameters are available. Proceeding without configuration.");
        return;
    }
    Log.i(TAG, "Initial camera parameters: " + parameters.flatten());
    if (safeMode) {
        Log.w(TAG, "In camera config safe mode -- most settings will not be honored");
    }
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
    initializeTorch(parameters, prefs, safeMode);
    CameraConfigurationUtils.setFocus(parameters, prefs.getBoolean(PreferencesActivity.KEY_AUTO_FOCUS, true), prefs.getBoolean(PreferencesActivity.KEY_DISABLE_CONTINUOUS_FOCUS, true), safeMode);
    if (!safeMode) {
        if (prefs.getBoolean(PreferencesActivity.KEY_INVERT_SCAN, false)) {
            CameraConfigurationUtils.setInvertColor(parameters);
        }
        if (!prefs.getBoolean(PreferencesActivity.KEY_DISABLE_BARCODE_SCENE_MODE, true)) {
            CameraConfigurationUtils.setBarcodeSceneMode(parameters);
        }
        if (!prefs.getBoolean(PreferencesActivity.KEY_DISABLE_METERING, true)) {
            CameraConfigurationUtils.setVideoStabilization(parameters);
            CameraConfigurationUtils.setFocusArea(parameters);
            CameraConfigurationUtils.setMetering(parameters);
        }
    }
    parameters.setPreviewSize(bestPreviewSize.x, bestPreviewSize.y);
    theCamera.setDisplayOrientation(90);
    theCamera.setParameters(parameters);
    theCamera.setDisplayOrientation(cwRotationFromDisplayToCamera);
    Camera.Parameters afterParameters = theCamera.getParameters();
    Camera.Size afterSize = afterParameters.getPreviewSize();
    if (afterSize != null && (bestPreviewSize.x != afterSize.width || bestPreviewSize.y != afterSize.height)) {
        Log.w(TAG, "Camera said it supported preview size " + bestPreviewSize.x + 'x' + bestPreviewSize.y + ", but after setting it, preview size is " + afterSize.width + 'x' + afterSize.height);
        bestPreviewSize.x = afterSize.width;
        bestPreviewSize.y = afterSize.height;
    }
}
Also used : SharedPreferences(android.content.SharedPreferences) OpenCamera(com.google.zxing.client.android.camera.open.OpenCamera) Camera(android.hardware.Camera)

Aggregations

OpenCamera (com.google.zxing.client.android.camera.open.OpenCamera)24 Camera (android.hardware.Camera)12 SharedPreferences (android.content.SharedPreferences)4 Point (android.graphics.Point)4 Display (android.view.Display)4 WindowManager (android.view.WindowManager)4 IOException (java.io.IOException)4