Android:如何将预览帧保存为 jpeg 图像? [英] Android: How to save a preview frame as jpeg image?
本文介绍了Android:如何将预览帧保存为 jpeg 图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将预览帧保存为 jpeg 图像.
I would like to save a preview frame as a jpeg image.
我已尝试编写以下代码:
I have tried to write the following code:
public void onPreviewFrame(byte[] _data, Camera _camera)
{
if(settings.isRecording())
{
Camera.Parameters params = _camera.getParameters();
params.setPictureFormat(PixelFormat.JPEG);
_camera.setParameters(params);
String path = "ImageDir" + frameCount;
fileRW.setPath(path);
fileRW.WriteToFile(_data);
frameCount++;
}
}
但无法将保存的文件打开为 jpeg 图像.有谁知道如何将预览帧保存为 jpeg 图像?
but it's not possible to open a saved file as a jpeg image. Does anyone know how to save preview frames as jpeg images?
谢谢
推荐答案
签出此代码.希望对你有帮助
checkout this code. i hope it helps
camera.setPreviewCallback(new PreviewCallback() {
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
// TODO Auto-generated method stub
Camera.Parameters parameters = camera.getParameters();
Size size = parameters.getPreviewSize();
YuvImage image = new YuvImage(data, ImageFormat.NV21,
size.width, size.height, null);
Rect rectangle = new Rect();
rectangle.bottom = size.height;
rectangle.top = 0;
rectangle.left = 0;
rectangle.right = size.width;
ByteArrayOutputStream out2 = new ByteArrayOutputStream();
image.compressToJpeg(rectangle, 100, out2);
DataInputStream in = new DataInputStream();
in.write(out2.toByteArray());
}
}
});
camera.startPreview();
这篇关于Android:如何将预览帧保存为 jpeg 图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文