全部問候,條件符合時捕獲圖像
我正在開發一個應用程序,並且我需要在滿足某些條件時捕獲圖像。到目前爲止,我有一個SurfaceView預覽後置攝像頭,我的所有條件都完成了。我想在滿足一些條件時讓相機拍照。用戶使用該應用程序時會拍攝多張照片。所以預覽會持續到所有條件都滿足爲止。有關如何做到這一點的任何建議?謝謝!
解決方案: 我找到了一些這樣的代碼,並對其進行了處理。
Camera.ShutterCallback myShutterCallback = new Camera.ShutterCallback() {
public void onShutter() {
// TODO bl
}
};
PictureCallback myPictureCallback_RAW = new PictureCallback() {
public void onPictureTaken(byte[] arg0, Camera arg1) {
// TODO Auto-generated method stub
}
};
PictureCallback myPictureCallback_JPG = new PictureCallback(){
@Override
public void onPictureTaken(byte[] data, Camera camera) {
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "/ImagesFromCamera");
imagesFolder.mkdirs();
//Unix time stamp for unique file naming.
long unixTime = System.currentTimeMillis()/1000L;
String fileName = "image"+ unixTime +".jpg";
File output = new File(imagesFolder, fileName);
try {
FileOutputStream fos = new FileOutputStream(output);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Notify the user when the image is taken.
Toast.makeText(CustomCameraActivity.this,
"Image saved.",
Toast.LENGTH_SHORT).show();
//Continue the Preview as it will stop once an image is taken.
camera.startPreview();
}
};
//Will call the camera to take a photo.
camera.takePicture(myShutterCallback, myPictureCallback_RAW, myPictureCallback_JPG);
這將有助於看到一些代碼,並至少了解你的條件。 – zgc7009