我想用android相机拍摄一张图片,但因为图片可能包含敏感数据,所以我不想把图片保存到手机或sd卡上。相反,我想要一个base64字符串(压缩的),它将立即发送到服务器
在phonegap中,文件似乎自动保存到不同的位置。
本来我就无法获取图像流-在onjpegpicturetaken()中,byte[]参数始终为空。
有人能提出一个办法吗?
最佳答案
请参见camera.onPreviewFrame()和yuvimage.compresstoJPEG()以获取可以转换为位图的字节数组。
注意,我认为yuvimage.compresstojpeg()只在sdk 8或更高版本中可用。对于早期版本,您需要实现自己的yuv解码器。这里有几个例子,或者,我可以给你举个例子。
这两种方法将允许您在内存中获取相机图片,而不会将其保存到sd。请注意,大多数相机预览大小的位图会很快占用内存,您需要非常小心地回收位图,而且可能还需要将它们缩小一点,以便对其进行大量处理,并且仍然符合大多数设备上的本机堆限制。
祝你好运!
关于android - 如何在不将文件保存到手机/SD卡的情况下捕获Android Camera图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4963581/