0

当我用android拍照时,我打电话

camera.TakePicture(shutterCallback, rawCallback, postCallback, jpegCallback);

但是我只需要后期图像数据。所以我打电话

camera.TakePicture(null, null, postCallback, null);

我想尽快拍摄连续照片。android 规范告诉我,我必须等待 jpeg 回调完成,然后才能再次调用 takePicture(很公平)。

但这是否意味着我必须添加一个 jpegCallback 并等待它被调用?压缩是Camera.takepictureandroid 过程中不可跳过的部分吗?当我不需要它时,不得不等待图像的压缩版本似乎是一种浪费。

4

1 回答 1

1

许多设备都内置了 H/W 图像编解码器。其中一些完全跳过 rawCallback 和 postViewCallback 并且只返回压缩数据(jpeg)。这样,未压缩的图像(大)根本不必复制到用户空间,从而加快了图像拍摄速度。

我认为在使用硬件编解码器时,压缩回调实际上可能比未压缩更快(要传输的数据更少)。

因此,您不能依赖 raw 和 postView 回调来获取所有设备上的图片数据。

于 2012-07-10T12:49:00.123 回答