Advertisement
Guest User

JavaCamResView

a guest
Sep 12th, 2014
522
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.68 KB | None | 0 0
  1. package edu.uab.cvc.androiddocscan.views;
  2. import java.util.List;
  3.  
  4. import org.opencv.android.JavaCameraView;
  5.  
  6. import android.content.Context;
  7. import android.hardware.Camera;
  8. import android.hardware.Camera.AutoFocusCallback;
  9. import android.util.AttributeSet;
  10. import android.widget.Toast;
  11.  
  12. public class JavaCamResView extends JavaCameraView implements AutoFocusCallback {
  13.  
  14.     public JavaCamResView(Context context, AttributeSet attrs) {
  15.         super(context, attrs);
  16.     }
  17.    
  18.  
  19.     public List<Camera.Size> getResolutionList() {
  20.         return mCamera.getParameters().getSupportedPreviewSizes();
  21.     }
  22.  
  23.     public void setResolution(Camera.Size resolution) {
  24.         disconnectCamera();
  25.         connectCamera((int) resolution.width, (int) resolution.height);
  26.     }
  27.  
  28.     public void setFocusMode(Context item, int type) {
  29.  
  30.         Camera.Parameters params = mCamera.getParameters();
  31.  
  32.         List<String> FocusModes = params.getSupportedFocusModes();
  33.  
  34.         String messageError = null;
  35.         switch (type) {
  36.         case 0:
  37.             if (FocusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO))
  38.                 params.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
  39.             else
  40.                 messageError = "Auto Mode not supported";
  41.             break;
  42.         case 1:
  43.             if (FocusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO))
  44.                 params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
  45.             else
  46.                 messageError = "Continuous Mode not supported";
  47.             break;
  48.         case 2:
  49.             if (FocusModes.contains(Camera.Parameters.FOCUS_MODE_EDOF))
  50.                 params.setFocusMode(Camera.Parameters.FOCUS_MODE_EDOF);
  51.             else
  52.                 messageError = "EDOF Mode not supported";
  53.             break;
  54.         case 3:
  55.             if (FocusModes.contains(Camera.Parameters.FOCUS_MODE_FIXED))
  56.                 params.setFocusMode(Camera.Parameters.FOCUS_MODE_FIXED);
  57.             else
  58.                 messageError = "Fixed Mode not supported";
  59.             break;
  60.         case 4:
  61.             if (FocusModes.contains(Camera.Parameters.FOCUS_MODE_INFINITY))
  62.                 params.setFocusMode(Camera.Parameters.FOCUS_MODE_INFINITY);
  63.             else
  64.                 messageError = "Infinity Mode not supported";
  65.             break;
  66.         case 5:
  67.             if (FocusModes.contains(Camera.Parameters.FOCUS_MODE_MACRO))
  68.                 params.setFocusMode(Camera.Parameters.FOCUS_MODE_MACRO);
  69.             else
  70.                 messageError = "Macro Mode not supported";
  71.             break;
  72.         }
  73.         if (messageError!=null) {
  74.             Toast.makeText(item, messageError, Toast.LENGTH_SHORT).show();
  75.         }
  76.        
  77.         mCamera.setParameters(params);
  78.  
  79.     }
  80.  
  81.     public Camera.Size getResolution() {
  82.  
  83.         Camera.Parameters params = mCamera.getParameters();
  84.  
  85.         Camera.Size s = params.getPreviewSize();
  86.         return s;
  87.     }
  88.  
  89.     public void autoFocus() {
  90.         mCamera.autoFocus(this);
  91.  
  92.     }
  93.  
  94.  
  95.  
  96.  
  97. //  @Override
  98.     public void onAutoFocus(boolean success, Camera camera) {
  99.         //TODO event in autofocus
  100.     }
  101.    
  102.    
  103.    
  104.    
  105.  
  106.    
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement