当我开始拍照,然后在其表面进来对面 [英] when i start camera then its surface comes in just opposite

查看:76
本文介绍了当我开始拍照,然后在其表面进来对面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的code表面创作是:

 公共无效surfaceCreated(SurfaceHolder为arg0){
        // TODO自动生成方法存根
        如果(相机== NULL){
            尝试{
                Log.e(相机开始,相机开始);
                相机= android.hardware.Camera.open();
                Camera.Parameters参数= camera.getParameters();
                //最终名单<串GT; 。coloreffects = camera.getParameters()getSupportedColorEffects();
                mParameters.set(旋转,ANTIBANDING_60HZ);
                parameters.setFocusMode(Camera.Parameters.EFFECT_SEPIA);
                parameters.getFocusMode();                mParameters.set(旋转,90);
                parameters.setFocusMode(android.intent.extra.focus);
                意向意图=新意图(android.intent.extra.focus);
                startActivityForResult(意向,0);                camera.setParameters(参数);
                Log.e(摄像机运行,相机runnng);            }赶上(例外五){
                // TODO自动生成catch块
                e.printStackTrace();
            }
             }


解决方案

使用此code。而变化AVD 2.2版

  @覆盖
        公共无效surfaceCreated(SurfaceHolder持有人){
         相机= Camera.open();         尝试{
                camera.set previewDisplay(支架);
                Camera.Parameters参数= camera.getParameters();
                parameters.setPictureFormat(PixelFormat.JPEG);
                parameters.set(方向,肖像);
                camera.setDisplayOrientation(90);
                parameters.setRotation(90);
                camera.setParameters(参数);
            }
            赶上(IOException异常除外){
                camera.release();
            }
        }

my code for surface creation is:

public void surfaceCreated(SurfaceHolder arg0){
        // TODO Auto-generated method stub


        if (camera == null) {
            try {
                Log.e("camera starting","camera starting");
                camera = android.hardware.Camera.open();
                Camera.Parameters parameters = camera.getParameters();
                //final List<String> coloreffects = camera.getParameters().getSupportedColorEffects();
                mParameters.set("rotation","ANTIBANDING_60HZ");
                parameters.setFocusMode(Camera.Parameters.EFFECT_SEPIA);
                parameters.getFocusMode();

                mParameters.set("rotation",90);
                parameters.setFocusMode("android.intent.extra.focus");
                Intent intent = new Intent("android.intent.extra.focus");
                startActivityForResult(intent, 0);

                camera.setParameters(parameters);
                Log.e("camera running","camera runnng");

            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
             }

解决方案

Use this code. And change avd version 2.2

        @Override
        public void surfaceCreated(SurfaceHolder holder) {
         camera = Camera.open();

         try {
                camera.setPreviewDisplay(holder);
                Camera.Parameters parameters = camera.getParameters();
                parameters.setPictureFormat(PixelFormat.JPEG);
                parameters.set("orientation", "portrait");
                camera.setDisplayOrientation(90); 
                parameters.setRotation(90);
                camera.setParameters(parameters);
            }
            catch (IOException exception) {
                camera.release();
            }
        }

这篇关于当我开始拍照,然后在其表面进来对面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆