从相机获取位图流?

Pao*_*elo 3 camera android bitmap

我的目标是从相机中获取最大数量的图像而不保存它们,但我不知道如何进行这种操作.我知道如何从拍摄照片的相机中捕捉到一张图像,但是我是如何在不拍照的情况下从相机中获取照片的?

我不会通过互联网发送照片,而是在设备上处理它们.我必须拍摄视频或照片序列吗?

III*_*III 7

您可以使用onPreviewFrame(byte[] data, Camera camera)回叫处理来自摄像头的图片.看看文档:链接

private Camera.PreviewCallback previewCallback = new Camera.PreviewCallback() {
        @Override
        public void onPreviewFrame(byte[] data, Camera camera) {

        // Do something with the frame
       }
};
Run Code Online (Sandbox Code Playgroud)

有关您的评论的更新:

尝试按以下方式获取位图:

    Camera.Parameters parameters = camera.getParameters();

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    YuvImage yuvImage = new YuvImage(data, parameters.getPreviewFormat(), parameters.getPreviewSize().width, parameters.getPreviewSize().height, null);
    yuvImage.compressToJpeg(new Rect(0, 0, parameters.getPreviewSize().width, parameters.getPreviewSize().height), 90, out);
    byte[] imageBytes = out.toByteArray();
    Bitmap bitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);


     out.flush();
     out.close();
Run Code Online (Sandbox Code Playgroud)