您现在的位置是:主页 > news > 服装网站搭建计划书/企业管理培训班

服装网站搭建计划书/企业管理培训班

admin2025/5/5 11:49:35news

简介服装网站搭建计划书,企业管理培训班,网站做扫一扫,产地证在什么网站做如何实现Android相机的自动对焦,而且是连续自动对焦的。当然直接调用系统相机就不用说了,那个很简单的。下面我们主要来看看如如何自己实现一个相机,并且实现自动连续对焦。 代码如下: public class MainActivity extends Activit…

服装网站搭建计划书,企业管理培训班,网站做扫一扫,产地证在什么网站做如何实现Android相机的自动对焦,而且是连续自动对焦的。当然直接调用系统相机就不用说了,那个很简单的。下面我们主要来看看如如何自己实现一个相机,并且实现自动连续对焦。 代码如下: public class MainActivity extends Activit…

如何实现Android相机的自动对焦,而且是连续自动对焦的。当然直接调用系统相机就不用说了,那个很简单的。下面我们主要来看看如如何自己实现一个相机,并且实现自动连续对焦。

代码如下:

public class MainActivity extends Activity {private SurfaceView surfaceView;private SurfaceHolder surfaceHolder;private boolean flag = false;private String fileUrl="";Camera camera;Camera.Parameters parameters;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);surfaceView = (SurfaceView) findViewById(R.id.surfaceView1);Button button=(Button) findViewById(R.id.takepicture);surfaceHolder = surfaceView.getHolder();surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);surfaceHolder.setKeepScreenOn(true);surfaceView.setFocusable(true);surfaceView.setBackgroundColor(TRIM_MEMORY_BACKGROUND);surfaceHolder.addCallback(new Callback() {@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {// TODO Auto-generated method stubcamera.stopPreview();camera.release();camera=null;}@Overridepublic void surfaceCreated(SurfaceHolder holder) {// TODO Auto-generated method stubif(null==camera){camera=Camera.open();try {camera.setPreviewDisplay(surfaceHolder);initCamera();camera.startPreview();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width, int height){//实现自动对焦camera.autoFocus(new AutoFocusCallback() {@Overridepublic void onAutoFocus(boolean success, Camera camera) {if(success){initCamera();//实现相机的参数初始化camera.cancelAutoFocus();//只有加上了这一句,才会自动对焦。}}});}});}//相机参数的初始化设置private void initCamera(){parameters=camera.getParameters();parameters.setPictureFormat(PixelFormat.JPEG);//parameters.setPictureSize(surfaceView.getWidth(), surfaceView.getHeight()); // 部分定制手机,无法正常识别该方法。parameters.setFlashMode(Parameters.FLASH_MODE_TORCH); parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);//1连续对焦setDispaly(parameters,camera);camera.setParameters(parameters);camera.startPreview();camera.cancelAutoFocus();// 2如果要实现连续的自动对焦,这一句必须加上}//控制图像的正确显示方向private void setDispaly(Camera.Parameters parameters,Camera camera){if (Integer.parseInt(Build.VERSION.SDK) >= 8){setDisplayOrientation(camera,90);}else{parameters.setRotation(90);}}  //实现的图像的正确显示private void setDisplayOrientation(Camera camera, int i) {Method downPolymorphic;try{downPolymorphic=camera.getClass().getMethod("setDisplayOrientation", new Class[]{int.class});if(downPolymorphic!=null) {downPolymorphic.invoke(camera, new Object[]{i});}}catch(Exception e){Log.e("Came_e", "图像出错");}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}