繁体   English   中英

在Android中以编程方式捕获图像

[英]Capture Image programmatically in android

我如何使用相机以编程方式捕获图片而无需像使用蓝牙标志的自拍杆一样触摸android中的捕获按钮。

尝试这样的事情:

public void takePictureNoPreview(Context context){
    // open back facing camera by default
    Camera myCamera=Camera.open();

    if(myCamera!=null){
        try{
            //set camera parameters if you want to
            //...

            // here, the unused surface view and holder
            SurfaceView dummy=new SurfaceView(context)
            myCamera.setPreviewDisplay(dummy.getHolder());    
            myCamera.startPreview(); 

            myCamera.takePicture(null, null, getJpegCallback()):

        } finally {
            myCamera.close();
        }      

    } else {
        //booo, failed!
    }


  private PictureCallback getJpegCallback(){
      PictureCallback jpeg=new PictureCallback() {   
          @Override
          public void onPictureTaken(byte[] data, Camera camera) {
              FileOutputStream fos;
              try {
                  fos = new FileOutputStream("test.jpeg");
                  fos.write(data);
                  fos.close();
              }  catch (IOException e) {
                 //do something about it
              }
          }
      };
   }
}

或者尝试本文中的一些解决方案: 以编程方式在Android上使用相机拍照

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM