首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android:如何将预览帧保存为jpeg图像?

Android:如何将预览帧保存为jpeg图像?
EN

Stack Overflow用户
提问于 2009-06-23 12:31:06
回答 6查看 16.8K关注 0票数 8

我想将预览帧保存为jpeg图像。

我试着写了以下代码:

代码语言:javascript
复制
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图像吗?

谢谢

EN

回答 6

Stack Overflow用户

发布于 2011-12-16 21:14:19

签出这段代码。我希望它能帮上忙

代码语言:javascript
复制
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();
票数 8
EN

Stack Overflow用户

发布于 2010-09-14 18:59:31

你必须手动转换它,如果你浏览归档文件,android开发者列表上有一些例子-主要是处理格式(亮度/色度等)转换,然后将图像写入位图,然后保存到文件。

这真的有点让人痛苦。

票数 1
EN

Stack Overflow用户

发布于 2009-09-16 08:57:53

我在预览之前用Camera.Parameters.setPreviewFormat(PixelFormat.JPEG)设置了PreviewFormat,但它似乎不能真正设置预览格式......顺便说一下,预览的默认格式是YCbCr_420_SP...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1032258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档