我正在android上开发,我想用相机做一些事情(处理像素的值),但只是在后台,是否可以在没有表面视图的情况下做到这一点?只需使用缓冲区读取像素值并进行处理。
感谢每一位可以帮助我的人
从 API 级别 11 开始表面纹理 http://developer.android.com/reference/android/graphics/SurfaceTexture.html加入。有了它,就不再需要 SurfaceView。我用我的 Samsung Galaxy S3 Neo 测试了以下代码。
mCamera = Camera.open();
try {
mCamera.setPreviewTexture(new SurfaceTexture(10));
} catch (IOException e1) {
Log.e(Version.APP_ID, e1.getMessage());
}
Parameters params = mCamera.getParameters();
params.setPreviewSize(640, 480);
params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
params.setPictureFormat(ImageFormat.JPEG);
mCamera.setParameters(params);
mCamera.startPreview();
mCamera.takePicture(null, null, null, new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
Log.i(Version.APP_ID, "picture-taken");
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)