【问题标题】:How to record the camera data captured from my app如何记录从我的应用程序捕获的相机数据
【发布时间】:2011-08-23 01:15:22
【问题描述】:

我正在尝试显示带有图像叠加层的相机预览,并在底部有一个按钮来拍照。我几乎从 CameraPreview 复制了 API,并添加了一个 addcontentview,它似乎可以很好地添加一个 xml 文件作为我的覆盖。 (除非它必须处于横向模式,所以我需要弄清楚如何通过代码旋转我所有的东西,或者对我来说更容易,只是制作横向图像:-P)

我的问题是我不知道如何让我的按钮正常工作。

我要做的就是将图像用作下一个活动的背景。不管怎样,这就是我所拥有的。

public class CameraPreview extends Activity {    
    private Preview mPreview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);

        mPreview = new Preview(this);
        setContentView(mPreview);
        LayoutInflater inflater = getLayoutInflater();
        getWindow().addContentView(inflater.inflate(R.layout.overlay, null), new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
        ViewGroup.LayoutParams.FILL_PARENT));           
    }
}


// ----------------------------------------------------------------------

class Preview extends SurfaceView implements SurfaceHolder.Callback {
    SurfaceHolder mHolder;
    Camera mCamera;

    Preview(Context context) {
        super(context);

        mHolder = getHolder();
        mHolder.addCallback(this);
        mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);                               
    }

    public void surfaceCreated(SurfaceHolder holder) {
        mCamera = Camera.open();
        try {
           mCamera.setPreviewDisplay(holder);
        } catch (IOException exception) {
            mCamera.release();
            mCamera = null;
        }
    }

    public void surfaceDestroyed(SurfaceHolder holder) {
        mCamera.stopPreview();
        mCamera.release();
        mCamera = null;
    }

    public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
        Camera.Parameters parameters = mCamera.getParameters();
        parameters.setPreviewSize(w, h);
        mCamera.setParameters(parameters);
        mCamera.startPreview();
    }
}

我只是不知道在哪里放置我的按钮,输入什么或任何东西。我假设它类似于 camera.takepicture 但我无法让它工作。

哦,是的,我在这一领域花了大约半天的时间,所以如果你能为我超级简化它,我油腻的头脑会很感激的。 :)

【问题讨论】:

    标签: android camera


    【解决方案1】:

    好的,我今天带着新的想法四处闲逛,并决定让用户使用他们的相机应用程序会更容易。所以我用 startActivityForResult 做到了这一点,从那里用数据修改我的 imageview 很容易,我将使用 RelativeLayout 将我的叠加层放在返回的预览上。

    感谢您正在处理此问题。我从下面的问题中提取了我的问题。

    How do I save data from Camera to disk using MediaStore on Android?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多