【发布时间】:2013-07-06 20:15:03
【问题描述】:
背景 嘿,所以我有一个我自己用代码实现的相机。这意味着我可以访问和控制相机硬件并使用它来保存图片。我可以在相机运行时使用Camera.takePicture()函数保存图片:运行意味着Camera.startPreview();
问题 我的问题是,当相机图像冻结时,我也希望能够保存图像:冻结是当 Camera.stopPreview();被称为。冻结时,我可以在布局中看到图像,但是如何访问它?图片保存在哪里,以便我以后可以修改它?
提前致谢!
------------------更新 1
jpeg bla;
public class jpeg implements PictureCallback{
public void onPictureTaken(byte[] data, Camera camera) {
g_data = data;
}
}
这是我的代码的一部分。在这里,我试图将最初保存到全局变量的数据写入。但是 g_data 的值仍然为空,我无法在 onPictureTaken() 回调函数中设置断点。
-----------------更新 2
FileOutputStream outStream = null;
try {
// generate the folder
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "MirrorMirror");
if( !imagesFolder.exists() ) {
imagesFolder.mkdirs();
}
// generate new image name
SimpleDateFormat formatter = new SimpleDateFormat("HH_mm_ss");
Date now = new Date();
String fileName = "image_" + formatter.format(now) + ".jpg";
// create outstream and write data
File image = new File(imagesFolder, fileName);
outStream = new FileOutputStream(image);
outStream.write(data);
outStream.close();
Log.d(TAG, "onPictureTaken - wrote bytes: " + data.length);
} catch (FileNotFoundException e) { // <10>
//Toast.makeText(ctx, "Exception #2", Toast.LENGTH_LONG).show();
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {}
我之前使用此代码从相机的 onPictureTaken() 函数中保存文件。这里的关键是我需要保存和稍后保存的 byte[] 数据。但是,就像我说的,当我在调试器中检查它时,我只是得到一个空值。
【问题讨论】:
-
你想拍照而不预览?
标签: java android android-camera